mirror of
				https://github.com/lingble/chatwoot.git
				synced 2025-10-31 02:57:57 +00:00 
			
		
		
		
	feat: move Azure config to installation_config (#9481)
This PR has the following changes 1. Add `AZURE_APP_ID` and `AZURE_APP_SECRET` to installation config 2. Add Microsoft config to `super_admin/features.yml` 3. Replace usage of `ENV.fetch` with `GlobalConfigService.load` for fetch App ID and Secret
This commit is contained in:
		| @@ -2,7 +2,10 @@ module MicrosoftConcern | ||||
|   extend ActiveSupport::Concern | ||||
|  | ||||
|   def microsoft_client | ||||
|     ::OAuth2::Client.new(ENV.fetch('AZURE_APP_ID', nil), ENV.fetch('AZURE_APP_SECRET', nil), | ||||
|     app_id = GlobalConfigService.load('AZURE_APP_ID', nil) | ||||
|     app_secret = GlobalConfigService.load('AZURE_APP_SECRET', nil) | ||||
|  | ||||
|     ::OAuth2::Client.new(app_id, app_secret, | ||||
|                          { | ||||
|                            site: 'https://login.microsoftonline.com', | ||||
|                            authorize_url: 'https://login.microsoftonline.com/common/oauth2/v2.0/authorize', | ||||
|   | ||||
| @@ -58,7 +58,7 @@ class DashboardController < ActionController::Base | ||||
|       FB_APP_ID: GlobalConfigService.load('FB_APP_ID', ''), | ||||
|       FACEBOOK_API_VERSION: GlobalConfigService.load('FACEBOOK_API_VERSION', 'v17.0'), | ||||
|       IS_ENTERPRISE: ChatwootApp.enterprise?, | ||||
|       AZURE_APP_ID: ENV.fetch('AZURE_APP_ID', ''), | ||||
|       AZURE_APP_ID: GlobalConfigService.load('AZURE_APP_ID', ''), | ||||
|       GIT_SHA: GIT_HASH | ||||
|     } | ||||
|   end | ||||
|   | ||||
| @@ -12,6 +12,6 @@ class MicrosoftController < ApplicationController | ||||
|   end | ||||
|  | ||||
|   def microsoft_indentity | ||||
|     @identity_json = ENV.fetch('AZURE_APP_ID', nil) | ||||
|     @identity_json = GlobalConfigService.load('AZURE_APP_ID', nil) | ||||
|   end | ||||
| end | ||||
|   | ||||
| @@ -35,6 +35,8 @@ class SuperAdmin::AppConfigsController < SuperAdmin::ApplicationController | ||||
|     @allowed_configs = case @config | ||||
|                        when 'facebook' | ||||
|                          %w[FB_APP_ID FB_VERIFY_TOKEN FB_APP_SECRET IG_VERIFY_TOKEN FACEBOOK_API_VERSION ENABLE_MESSENGER_CHANNEL_HUMAN_AGENT] | ||||
|                        when 'microsoft' | ||||
|                          %w[AZURE_APP_ID AZURE_APP_SECRET] | ||||
|                        when 'email' | ||||
|                          ['MAILER_INBOUND_EMAIL_DOMAIN'] | ||||
|                        else | ||||
|   | ||||
| @@ -50,7 +50,7 @@ class Microsoft::RefreshOauthTokenService | ||||
|  | ||||
|   # Builds the OAuth strategy for Microsoft Graph | ||||
|   def build_oauth_strategy | ||||
|     ::MicrosoftGraphAuth.new(nil, ENV.fetch('AZURE_APP_ID'), ENV.fetch('AZURE_APP_SECRET')) | ||||
|     ::MicrosoftGraphAuth.new(nil, GlobalConfigService.load('AZURE_APP_ID', ''), GlobalConfigService.load('AZURE_APP_SECRET', '')) | ||||
|   end | ||||
|  | ||||
|   # Builds the token service using OAuth2 | ||||
|   | ||||
| @@ -1,4 +1,7 @@ | ||||
| <svg xmlns="http://www.w3.org/2000/svg" style="display: none;"> | ||||
|   <symbol id="icon-microsoft" viewBox="0 0 24 24"> | ||||
|     <path fill="currentColor" d="M2 3h9v9H2zm9 19H2v-9h9zM21 3v9h-9V3zm0 19h-9v-9h9z"/> | ||||
|   </symbol> | ||||
|   <symbol id="icon-cancel" viewBox="0 0 48 48"> | ||||
|     <path fill-rule="evenodd" d="M24 19.757l-8.485-8.485c-.784-.783-2.047-.782-2.827 0l-1.417 1.416c-.777.777-.78 2.046.002 2.827L19.757 24l-8.485 8.485c-.783.784-.782 2.047 0 2.827l1.416 1.417c.777.777 2.046.78 2.827-.002L24 28.243l8.485 8.485c.784.783 2.047.782 2.827 0l1.417-1.416c.777-.777.78-2.046-.002-2.827L28.243 24l8.485-8.485c.783-.784.782-2.047 0-2.827l-1.416-1.417c-.777-.777-2.046-.78-2.827.002L24 19.757zM24 47c12.703 0 23-10.297 23-23S36.703 1 24 1 1 11.297 1 24s10.297 23 23 23z" /> | ||||
|   </symbol> | ||||
|   | ||||
| Before Width: | Height: | Size: 35 KiB After Width: | Height: | Size: 35 KiB | 
| @@ -123,6 +123,16 @@ | ||||
|   type: boolean | ||||
| # ------- End of Facebook Channel Related Config ------- # | ||||
|  | ||||
| # MARK: Microsoft Email Channel Config | ||||
| - name: AZURE_APP_ID | ||||
|   display_title: 'Azure App ID' | ||||
|   description: 'The App ID that will be used to authenticate with customer Microsoft accounts. Find more details on setting up Azure here: https://chwt.app/dev/ms' | ||||
|   locked: false | ||||
| - name: AZURE_APP_SECRET | ||||
|   display_title: 'Azure App Secret' | ||||
|   locked: false | ||||
| # End of Microsoft Email Channel Config | ||||
|  | ||||
| # ------- Chatwoot Internal Config for Cloud ----# | ||||
| - name: CHATWOOT_INBOX_TOKEN | ||||
|   value: | ||||
|   | ||||
| @@ -66,3 +66,9 @@ help_center: | ||||
|   description: 'Allow agents to create help center articles and publish them in a portal.' | ||||
|   enabled: true | ||||
|   icon: 'icon-book-2-line' | ||||
| microsoft: | ||||
|   name: 'Microsoft' | ||||
|   description: 'Configuration for setting up Microsoft Email' | ||||
|   enabled: true | ||||
|   icon: 'icon-microsoft' | ||||
|   config_key: 'microsoft' | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Shivam Mishra
					Shivam Mishra