DotNetOpenAuth.OAuth2.AuthorizationServer.ReadAuthorizationRequest C# (CSharp) Method

ReadAuthorizationRequest() private method

private ReadAuthorizationRequest ( System.Web.HttpRequestBase request = null ) : DotNetOpenAuth.OAuth2.Messages.EndUserAuthorizationRequest
request System.Web.HttpRequestBase
return DotNetOpenAuth.OAuth2.Messages.EndUserAuthorizationRequest
		public EndUserAuthorizationRequest ReadAuthorizationRequest(HttpRequestBase request = null) {
			if (request == null) {
				request = this.Channel.GetRequestFromContext();
			}

			EndUserAuthorizationRequest message;
			if (this.Channel.TryReadFromRequest(request, out message)) {
				if (message.ResponseType == EndUserAuthorizationResponseType.AuthorizationCode) {
					// Clients with no secrets can only request implicit grant types.
					var client = this.AuthorizationServerServices.GetClientOrThrow(message.ClientIdentifier);
					ErrorUtilities.VerifyProtocol(client.HasNonEmptySecret, Protocol.EndUserAuthorizationRequestErrorCodes.UnauthorizedClient);
				}
			}

			return message;
		}

Usage Example

Ejemplo n.º 1
0
        public ActionResult Authorise()
        {
            using (var server = (new OAuth2AuthorizationServer(new X509Certificate2(_absolutePathToPfx, _certificatePassword),
                            new X509Certificate2(_absolutePathToCertificate))))
            {
                var authorizationServer = new AuthorizationServer(server);

                var pendingRequest = authorizationServer.ReadAuthorizationRequest();
                if (pendingRequest == null)
                {
                    throw new HttpException((int)HttpStatusCode.BadRequest, "Missing authorization request.");
                }

                var requestingClient =
                    MvcApplication.DataContext.Clients.First(c => c.ClientIdentifier == pendingRequest.ClientIdentifier);

                // Consider auto-approving if safe to do so.
                if (((OAuth2AuthorizationServer)authorizationServer.AuthorizationServerServices).CanBeAutoApproved(pendingRequest))
                {
                    var approval = authorizationServer.PrepareApproveAuthorizationRequest(pendingRequest, HttpContext.User.Identity.Name);
                    return authorizationServer.Channel.PrepareResponse(approval).AsActionResult();
                }

                var model = new AccountAuthorizeModel
                {
                    ClientApp = requestingClient.Name,
                    Scope = pendingRequest.Scope,
                    AuthorizationRequest = pendingRequest,
                };

                return View(model);
            }
        }
All Usage Examples Of DotNetOpenAuth.OAuth2.AuthorizationServer::ReadAuthorizationRequest