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); }