private async Task <OpenIdClientSettings> GetClientSettingsAsync() { var settings = await _clientService.GetSettingsAsync(); if ((await _clientService.ValidateSettingsAsync(settings)).Any(result => result != ValidationResult.Success)) { _logger.LogWarning("The OpenID Connect module is not correctly configured."); return(null); } return(settings); }
public async Task ExecuteAsync(RecipeExecutionContext context) { if (!string.Equals(context.Name, "OpenIdClientSettings", StringComparison.OrdinalIgnoreCase)) { return; } var model = context.Step.ToObject <OpenIdClientSettingsStepModel>(); var settings = await _clientService.GetSettingsAsync(); settings.Scopes = model.Scopes.Split(' ', ','); settings.Authority = !string.IsNullOrEmpty(model.Authority) ? new Uri(model.Authority, UriKind.Absolute) : null; settings.CallbackPath = model.CallbackPath; settings.ClientId = model.ClientId; settings.ClientSecret = model.ClientSecret; settings.DisplayName = model.DisplayName; settings.ResponseMode = model.ResponseMode; settings.ResponseType = model.ResponseType; settings.SignedOutCallbackPath = model.SignedOutCallbackPath; settings.SignedOutRedirectUri = model.SignedOutRedirectUri; await _clientService.UpdateSettingsAsync(settings); }