diff options
author | Andrew Arnott <andrewarnott@gmail.com> | 2013-03-07 17:00:03 -0800 |
---|---|---|
committer | Andrew Arnott <andrewarnott@gmail.com> | 2013-03-07 17:00:03 -0800 |
commit | bc505e8b3846ee97bec3860acce7d0d92b814955 (patch) | |
tree | 24c39d720943dac08754d095e5720565500eed3c /src/DotNetOpenAuth.OAuth2.AuthorizationServer/OAuth2 | |
parent | 5c50924246387b6d9a5ce668fb389b5ec7d93434 (diff) | |
download | DotNetOpenAuth-bc505e8b3846ee97bec3860acce7d0d92b814955.zip DotNetOpenAuth-bc505e8b3846ee97bec3860acce7d0d92b814955.tar.gz DotNetOpenAuth-bc505e8b3846ee97bec3860acce7d0d92b814955.tar.bz2 |
Many more unit test build fixes and product touch-ups.
Diffstat (limited to 'src/DotNetOpenAuth.OAuth2.AuthorizationServer/OAuth2')
-rw-r--r-- | src/DotNetOpenAuth.OAuth2.AuthorizationServer/OAuth2/AuthorizationServer.cs | 57 |
1 files changed, 37 insertions, 20 deletions
diff --git a/src/DotNetOpenAuth.OAuth2.AuthorizationServer/OAuth2/AuthorizationServer.cs b/src/DotNetOpenAuth.OAuth2.AuthorizationServer/OAuth2/AuthorizationServer.cs index 421a09e..e7edb66 100644 --- a/src/DotNetOpenAuth.OAuth2.AuthorizationServer/OAuth2/AuthorizationServer.cs +++ b/src/DotNetOpenAuth.OAuth2.AuthorizationServer/OAuth2/AuthorizationServer.cs @@ -92,9 +92,10 @@ namespace DotNetOpenAuth.OAuth2 { /// </returns> /// <exception cref="ProtocolException">Thrown if an unexpected OAuth message is attached to the incoming request.</exception> [SuppressMessage("Microsoft.Naming", "CA2204:Literals should be spelled correctly", MessageId = "unauthorizedclient", Justification = "Protocol required.")] - public async Task<EndUserAuthorizationRequest> ReadAuthorizationRequestAsync(HttpRequestBase request = null, CancellationToken cancellationToken = default(CancellationToken)) { - request = request ?? this.Channel.GetRequestFromContext(); - var message = await this.Channel.TryReadFromRequestAsync<EndUserAuthorizationRequest>(request.AsHttpRequestMessage(), cancellationToken); + public async Task<EndUserAuthorizationRequest> ReadAuthorizationRequestAsync(HttpRequestMessage request, CancellationToken cancellationToken = default(CancellationToken)) { + Requires.NotNull(request, "request"); + + var message = await this.Channel.TryReadFromRequestAsync<EndUserAuthorizationRequest>(request, cancellationToken); if (message != null) { if (message.ResponseType == EndUserAuthorizationResponseType.AuthorizationCode) { // Clients with no secrets can only request implicit grant types. @@ -110,41 +111,44 @@ namespace DotNetOpenAuth.OAuth2 { /// Reads in a client's request for the Authorization Server to obtain permission from /// the user to authorize the Client's access of some protected resource(s). /// </summary> - /// <param name="requestUri">The URL that carries the authorization request.</param> + /// <param name="request">The HTTP request to read from.</param> /// <param name="cancellationToken">The cancellation token.</param> /// <returns> /// The incoming request, or null if no OAuth message was attached. /// </returns> /// <exception cref="ProtocolException">Thrown if an unexpected OAuth message is attached to the incoming request.</exception> - public Task<EndUserAuthorizationRequest> ReadAuthorizationRequestAsync(Uri requestUri, CancellationToken cancellationToken = default(CancellationToken)) { - var httpInfo = HttpRequestInfo.Create(HttpMethod.Get.Method, requestUri); - return this.ReadAuthorizationRequestAsync(httpInfo, cancellationToken); + public Task<EndUserAuthorizationRequest> ReadAuthorizationRequestAsync( + HttpRequestBase request = null, CancellationToken cancellationToken = default(CancellationToken)) { + request = request ?? this.Channel.GetRequestFromContext(); + return this.ReadAuthorizationRequestAsync(request.AsHttpRequestMessage(), cancellationToken); } /// <summary> - /// Handles an incoming request to the authorization server's token endpoint. + /// Reads in a client's request for the Authorization Server to obtain permission from + /// the user to authorize the Client's access of some protected resource(s). /// </summary> - /// <param name="request">The HTTP request.</param> - /// <returns>The HTTP response to send to the client.</returns> - public Task<HttpResponseMessage> HandleTokenRequestAsync(HttpRequestMessage request) { - return this.HandleTokenRequestAsync(new HttpRequestInfo(request)); + /// <param name="requestUri">The URL that carries the authorization request.</param> + /// <param name="cancellationToken">The cancellation token.</param> + /// <returns> + /// The incoming request, or null if no OAuth message was attached. + /// </returns> + /// <exception cref="ProtocolException">Thrown if an unexpected OAuth message is attached to the incoming request.</exception> + public Task<EndUserAuthorizationRequest> ReadAuthorizationRequestAsync(Uri requestUri, CancellationToken cancellationToken = default(CancellationToken)) { + var request = new HttpRequestMessage(HttpMethod.Get, requestUri); + return this.ReadAuthorizationRequestAsync(request, cancellationToken); } /// <summary> /// Handles an incoming request to the authorization server's token endpoint. /// </summary> /// <param name="request">The HTTP request.</param> - /// <param name="cancellationToken">The cancellation token.</param> - /// <returns> - /// The HTTP response to send to the client. - /// </returns> - public async Task<HttpResponseMessage> HandleTokenRequestAsync(HttpRequestBase request = null, CancellationToken cancellationToken = default(CancellationToken)) { - request = request ?? this.Channel.GetRequestFromContext(); + /// <returns>The HTTP response to send to the client.</returns> + public async Task<HttpResponseMessage> HandleTokenRequestAsync(HttpRequestMessage request, CancellationToken cancellationToken = default(CancellationToken)) { + Requires.NotNull(request, "request"); - AccessTokenRequestBase requestMessage; IProtocolMessage responseMessage; try { - requestMessage = await this.Channel.TryReadFromRequestAsync<AccessTokenRequestBase>(request.AsHttpRequestMessage(), cancellationToken); + AccessTokenRequestBase requestMessage = await this.Channel.TryReadFromRequestAsync<AccessTokenRequestBase>(request, cancellationToken); if (requestMessage != null) { var accessTokenResult = this.AuthorizationServerServices.CreateAccessToken(requestMessage); ErrorUtilities.VerifyHost(accessTokenResult != null, "IAuthorizationServerHost.CreateAccessToken must not return null."); @@ -176,6 +180,19 @@ namespace DotNetOpenAuth.OAuth2 { } /// <summary> + /// Handles an incoming request to the authorization server's token endpoint. + /// </summary> + /// <param name="request">The HTTP request.</param> + /// <param name="cancellationToken">The cancellation token.</param> + /// <returns> + /// The HTTP response to send to the client. + /// </returns> + public Task<HttpResponseMessage> HandleTokenRequestAsync(HttpRequestBase request = null, CancellationToken cancellationToken = default(CancellationToken)) { + request = request ?? this.Channel.GetRequestFromContext(); + return this.HandleTokenRequestAsync(request.AsHttpRequestMessage(), cancellationToken); + } + + /// <summary> /// Prepares a response to inform the Client that the user has rejected the Client's authorization request. /// </summary> /// <param name="authorizationRequest">The authorization request.</param> |