예제 #1
0
        public static void ConfigureAppSettings(this IServiceCollection services, IConfiguration configuration)
        {
            var azureAdGraphConfiguration = new AzureAdGraphSettings()
            {
                AzureAdB2CTenant      = configuration["AzureAdGraph:AzureAdB2CTenant"],
                ClientId              = configuration["AzureAdGraph:ClientId"],
                ClientSecret          = configuration["AzureAdGraph:ClientSecret"],
                PolicyName            = configuration["AzureAdGraph:PolicyName"],
                ApiUrl                = configuration["AzureAdGraph:ApiUrl"],
                ApiVersion            = configuration["AzureAdGraph:ApiVersion"],
                ExtensionsAppClientId = configuration["AzureAdGraph:ExtensionsAppClientId"]
            };

            services.AddSingleton(azureAdGraphConfiguration);

            var azureAdB2CSettings = new AzureAdB2CSettings()
            {
                ClientId = configuration["AzureAdB2C:ClientId"],
                Tenant   = configuration["AzureAdB2C:Tenant"],
                Policy   = configuration["AzureAdB2C:Policy"]
            };

            services.AddSingleton(azureAdB2CSettings);

            var microsoftGraphSettings = new MicrosoftGraphSettings()
            {
                AzureAdB2CTenant = configuration["MicrosoftGraph:AzureAdB2CTenant"],
                ClientId         = configuration["MicrosoftGraph:ClientId"],
                ClientSecret     = configuration["MicrosoftGraph:ClientSecret"],
                ApiUrl           = configuration["MicrosoftGraph:ApiUrl"],
                ApiVersion       = configuration["MicrosoftGraph:ApiVersion"]
            };

            services.AddSingleton(microsoftGraphSettings);

            var cosmosDbSettings = new CosmosDbSettings()
            {
                Account      = configuration["CosmosDb:Account"],
                Key          = configuration["CosmosDb:Key"],
                DatabaseName = configuration["CosmosDb:DatabaseName"],
                TutorLearningProfilesContainerName = configuration["CosmosDb:TutorLearningProfilesContainerName"],
                ChatMessagesContainerName          = configuration["CosmosDb:ChatMessagesContainerName"]
            };

            services.AddSingleton(cosmosDbSettings);

            var notificationHubSettings = new NotificationHubSettings()
            {
                HubName = configuration["NotificationHub:HubName"],
                HubDefaultFullSharedAccessSignature = configuration["NotificationHub:HubDefaultFullSharedAccessSignature"]
            };

            services.AddSingleton(notificationHubSettings);
        }
 public AdB2cGraphClientUserPropertiesProvider(HttpClient httpClient,
                                               IAzureAdGraphAuthenticationProvider azureAdGraphAuthenticationProvider,
                                               IMicrosoftGraphAuthenticationProvider microsoftGraphAuthenticationProvider,
                                               AzureAdGraphSettings azureAdGraphSettings,
                                               MicrosoftGraphSettings microsoftGraphSettings)
 {
     _httpClient = httpClient;
     _azureAdGraphAuthenticationProvider   = azureAdGraphAuthenticationProvider;
     _microsoftGraphAuthenticationProvider = microsoftGraphAuthenticationProvider;
     _azureAdGraphSettings   = azureAdGraphSettings;
     _microsoftGraphSettings = microsoftGraphSettings;
 }
예제 #3
0
 public MicrosoftGraphApiAuthenticationProvider(MicrosoftGraphSettings settings)
 {
     _settings = settings;
 }