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

HandleTokenRequest() public method

Handles an incoming request to the authorization server's token endpoint.
public HandleTokenRequest ( System.Web.HttpRequestBase request = null ) : DotNetOpenAuth.Messaging.OutgoingWebResponse
request System.Web.HttpRequestBase The HTTP request.
return DotNetOpenAuth.Messaging.OutgoingWebResponse
		public OutgoingWebResponse HandleTokenRequest(HttpRequestBase request = null) {
			if (request == null) {
				request = this.Channel.GetRequestFromContext();
			}

			AccessTokenRequestBase requestMessage;
			IProtocolMessage responseMessage;
			try {
				if (this.Channel.TryReadFromRequest(request, out requestMessage)) {
					IAccessTokenRequestInternal accessRequestInternal = requestMessage;
					accessRequestInternal.AccessTokenCreationParameters = this.AuthorizationServerServices.GetAccessTokenParameters(requestMessage);
					ErrorUtilities.VerifyHost(accessRequestInternal.AccessTokenCreationParameters != null, "IAuthorizationServer.GetAccessTokenParameters must not return null.");

					var successResponseMessage = this.PrepareAccessTokenResponse(requestMessage, accessRequestInternal.AccessTokenCreationParameters.IncludeRefreshToken);
					successResponseMessage.Lifetime = accessRequestInternal.AccessTokenCreationParameters.AccessTokenLifetime;

					var authCarryingRequest = requestMessage as IAuthorizationCarryingRequest;
					if (authCarryingRequest != null) {
						IAccessTokenIssuingResponse accessTokenIssuingResponse = successResponseMessage;
						accessTokenIssuingResponse.AuthorizationDescription = new AccessToken(authCarryingRequest.AuthorizationDescription, successResponseMessage.Lifetime);
					}

					responseMessage = successResponseMessage;
				} else {
					responseMessage = new AccessTokenFailedResponse() { Error = Protocol.AccessTokenRequestErrorCodes.InvalidRequest, };
				}
			} catch (TokenEndpointProtocolException ex) {
				responseMessage = new AccessTokenFailedResponse() { Error = ex.Error, ErrorDescription = ex.Description, ErrorUri = ex.MoreInformation };
			} catch (ProtocolException) {
				responseMessage = new AccessTokenFailedResponse() {
					Error = Protocol.AccessTokenRequestErrorCodes.InvalidRequest,
				};
			}

			return this.Channel.PrepareResponse(responseMessage);
		}

Usage Example

        public ActionResult Issue()
        {
            var authorizationServer = new AuthorizationServer(new AuthorizationServerHost());
            var response = authorizationServer.HandleTokenRequest(Request).AsActionResult();

            return response;
        }
All Usage Examples Of DotNetOpenAuth.OAuth2.AuthorizationServer::HandleTokenRequest