public KeyVaultAdminService(IOptionsSnapshot <AzureAdOptions> azureAdOptions, IOptionsSnapshot <AdminConfig> adminConfig, IOptionsSnapshot <ResourceIds> resources, IGraphHttpService graphHttpService, IApplicationConfiguration applicationConfiguration, IUser user, IHttpContextAccessor contextAccessor) { userId = user.ObjectId; tenantId = Guid.Parse(user.TenantId); clientId = Guid.Parse(azureAdOptions.Value.ClientId); adalContext = new AuthenticationContext($"{azureAdOptions.Value.AADInstance}{azureAdOptions.Value.TenantId}", new ADALSessionCache(userId, contextAccessor)); resourceGroup = adminConfig.Value.ResourceGroup; kvManagmentClient = new KeyVaultManagementClient(new AutoRestCredential <KeyVaultManagementClient>(GetAppToken)) { SubscriptionId = adminConfig.Value.SubscriptionId, BaseUri = new Uri(adminConfig.Value.ArmInstance) }; kvClient = new KeyVaultClient(new AutoRestCredential <KeyVaultClient>(GetAppTokenForKv)); this.azureAdOptions = azureAdOptions.Value; this.adminConfig = adminConfig.Value; this.graphHttpService = graphHttpService; this.applicationConfiguration = applicationConfiguration; this.resources = resources.Value; }
public KeyVaultAdminService(IOptionsSnapshot <AzureAdOptions> azureAdOptions, IOptionsSnapshot <AdminConfig> adminConfig, IOptionsSnapshot <Resources> resources, IGraphHttpService graphHttpService, IHttpContextAccessor contextAccessor) { var principal = contextAccessor.HttpContext.User; userId = principal.FindFirst("oid").Value; tenantId = Guid.Parse(principal.FindFirst("tid").Value); clientId = Guid.Parse(azureAdOptions.Value.ClientId); adalContext = new AuthenticationContext($"{azureAdOptions.Value.AADInstance}{azureAdOptions.Value.TenantId}", new ADALSessionCache(userId, contextAccessor)); resourceGroup = adminConfig.Value.ResourceGroup; kvManagmentClient = new KeyVaultManagementClient(new KeyVaultCredential(GetAppToken)); kvManagmentClient.SubscriptionId = adminConfig.Value.SubscriptionId; kvClient = new KeyVaultClient(new KeyVaultCredential(GetAppTokenForKv)); this.azureAdOptions = azureAdOptions.Value; this.adminConfig = adminConfig.Value; this.graphHttpService = graphHttpService; this.resources = resources.Value; }