public ConsentViewModel(ConsentInputModel model, string consentId, ConsentRequest request, Client client, IEnumerable<Scope> scopes, ILocalizationService localization) { RememberConsent = model?.RememberConsent ?? true; ScopesConsented = model?.ScopesConsented ?? Enumerable.Empty<string>(); ConsentId = consentId; ClientName = client.ClientName; ClientUrl = client.ClientUri; ClientLogoUrl = client.LogoUri; AllowRememberConsent = client.AllowRememberConsent; IdentityScopes = scopes.Where(x => x.Type == ScopeType.Identity).Select(x => new ScopeViewModel(localization, x, ScopesConsented.Contains(x.Name) || model == null)).ToArray(); ResourceScopes = scopes.Where(x => x.Type == ScopeType.Resource).Select(x => new ScopeViewModel(localization, x, ScopesConsented.Contains(x.Name) || model == null)).ToArray(); }
public async Task<IEndpointResult> CreateConsentResultAsync(ValidatedAuthorizeRequest request) { var consent = new ConsentRequest() { ClientId = request.ClientId, ScopesRequested = request.RequestedScopes.ToArray(), DisplayMode = request.DisplayMode, UiLocales = request.UiLocales }; var message = new Message<ConsentRequest>(consent) { ResponseUrl = _context.GetIdentityServerBaseUrl().EnsureTrailingSlash() + Constants.RoutePaths.Oidc.AuthorizeAfterConsent, AuthorizeRequestParameters = request.Raw.ToDictionary() }; await _consentRequestStore.WriteAsync(message); return new ConsentPageResult(message.Id); }