Example #1
0
        private async Task <ConsentViewModel> BuildViewModelAsync(string returnUrl, ConsentInputModel model = null)
        {
            var request = await Interaction.GetAuthorizationContextAsync(returnUrl);

            if (request != null)
            {
                var client = await ClientStore.FindEnabledClientByIdAsync(request.ClientId);

                if (client != null)
                {
                    var resources = await ResourceStore.FindEnabledResourcesByScopeAsync(request.ScopesRequested);

                    if (resources != null && (resources.IdentityResources.Any() || resources.ApiResources.Any()))
                    {
                        return(CreateConsentViewModel(model, returnUrl, request, client, resources));
                    }
                    else
                    {
                        Logger.LogError("No scopes matching: {0}", request.ScopesRequested.Aggregate((x, y) => x + ", " + y));
                    }
                }
                else
                {
                    Logger.LogError("Invalid client id: {0}", request.ClientId);
                }
            }
            else
            {
                Logger.LogError("No consent request matching request: {0}", returnUrl);
            }

            return(null);
        }