diff options
author | Andrew Arnott <andrewarnott@gmail.com> | 2012-07-22 07:42:36 -0700 |
---|---|---|
committer | Andrew Arnott <andrewarnott@gmail.com> | 2012-07-22 07:42:36 -0700 |
commit | 6dba07eda990f75dfea0999b06aba9c2e61fa442 (patch) | |
tree | d46a3f201b177480f386f38adeb6fe3ee09b7f05 | |
parent | 4e2fc05605966377f30e9a59f80330e1a9c3f06c (diff) | |
download | DotNetOpenAuth-6dba07eda990f75dfea0999b06aba9c2e61fa442.zip DotNetOpenAuth-6dba07eda990f75dfea0999b06aba9c2e61fa442.tar.gz DotNetOpenAuth-6dba07eda990f75dfea0999b06aba9c2e61fa442.tar.bz2 |
Fixed AccessTokenResult API to be clearer
The AccessTokenResult constructor accepts an AccessToken, when it should
only accept an AuthorizationServerAccessToken so it's clear what an auth
server host must create so that it's serializable. This fixes that.
-rw-r--r-- | src/DotNetOpenAuth.OAuth2.AuthorizationServer/DotNetOpenAuth.OAuth2.AuthorizationServer.csproj | 1 | ||||
-rw-r--r-- | src/DotNetOpenAuth.OAuth2.AuthorizationServer/OAuth2/Messages/AccessTokenResult.cs (renamed from src/DotNetOpenAuth.OAuth2.ClientAuthorization/OAuth2/Messages/AccessTokenResult.cs) | 13 | ||||
-rw-r--r-- | src/DotNetOpenAuth.OAuth2.ClientAuthorization/DotNetOpenAuth.OAuth2.ClientAuthorization.csproj | 2 | ||||
-rw-r--r-- | src/DotNetOpenAuth.OAuth2.ClientAuthorization/OAuth2/Messages/AccessTokenRequestBase.cs | 2 | ||||
-rw-r--r-- | src/DotNetOpenAuth.OAuth2.ClientAuthorization/OAuth2/Messages/EndUserAuthorizationImplicitRequest.cs | 2 | ||||
-rw-r--r-- | src/DotNetOpenAuth.OAuth2.ClientAuthorization/OAuth2/Messages/IAccessTokenRequestInternal.cs | 2 | ||||
-rw-r--r-- | src/DotNetOpenAuth.OAuth2.ClientAuthorization/OAuth2/Messages/IAccessTokenResult.cs | 33 |
7 files changed, 48 insertions, 7 deletions
diff --git a/src/DotNetOpenAuth.OAuth2.AuthorizationServer/DotNetOpenAuth.OAuth2.AuthorizationServer.csproj b/src/DotNetOpenAuth.OAuth2.AuthorizationServer/DotNetOpenAuth.OAuth2.AuthorizationServer.csproj index 34d59ee..bb782f0 100644 --- a/src/DotNetOpenAuth.OAuth2.AuthorizationServer/DotNetOpenAuth.OAuth2.AuthorizationServer.csproj +++ b/src/DotNetOpenAuth.OAuth2.AuthorizationServer/DotNetOpenAuth.OAuth2.AuthorizationServer.csproj @@ -42,6 +42,7 @@ <Compile Include="OAuth2\IAuthorizationServerHost.cs" /> <Compile Include="OAuth2\Messages\AccessTokenAuthorizationCodeRequestAS.cs" /> <Compile Include="OAuth2\Messages\AccessTokenRefreshRequestAS.cs" /> + <Compile Include="OAuth2\Messages\AccessTokenResult.cs" /> <Compile Include="OAuth2\Messages\EndUserAuthorizationSuccessAuthCodeResponseAS.cs" /> <Compile Include="OAuth2\Messages\IAuthorizationCodeCarryingRequest.cs" /> <Compile Include="OAuth2\Messages\IRefreshTokenCarryingRequest.cs" /> diff --git a/src/DotNetOpenAuth.OAuth2.ClientAuthorization/OAuth2/Messages/AccessTokenResult.cs b/src/DotNetOpenAuth.OAuth2.AuthorizationServer/OAuth2/Messages/AccessTokenResult.cs index 11e486b..4297165 100644 --- a/src/DotNetOpenAuth.OAuth2.ClientAuthorization/OAuth2/Messages/AccessTokenResult.cs +++ b/src/DotNetOpenAuth.OAuth2.AuthorizationServer/OAuth2/Messages/AccessTokenResult.cs @@ -14,12 +14,12 @@ namespace DotNetOpenAuth.OAuth2 { /// <summary> /// Describes the parameters to be fed into creating a response to an access token request. /// </summary> - public class AccessTokenResult { + public class AccessTokenResult : IAccessTokenResult { /// <summary> /// Initializes a new instance of the <see cref="AccessTokenResult"/> class. /// </summary> /// <param name="accessToken">The access token to include in this result.</param> - public AccessTokenResult(AccessToken accessToken) { + public AccessTokenResult(AuthorizationServerAccessToken accessToken) { Requires.NotNull(accessToken, "accessToken"); this.AllowRefreshToken = true; this.AccessToken = accessToken; @@ -38,6 +38,13 @@ namespace DotNetOpenAuth.OAuth2 { /// <summary> /// Gets the access token. /// </summary> - public AccessToken AccessToken { get; private set; } + public AuthorizationServerAccessToken AccessToken { get; private set; } + + /// <summary> + /// Gets the access token. + /// </summary> + AccessToken IAccessTokenResult.AccessToken { + get { return this.AccessToken; } + } } } diff --git a/src/DotNetOpenAuth.OAuth2.ClientAuthorization/DotNetOpenAuth.OAuth2.ClientAuthorization.csproj b/src/DotNetOpenAuth.OAuth2.ClientAuthorization/DotNetOpenAuth.OAuth2.ClientAuthorization.csproj index 2a08dbf..c3ed569 100644 --- a/src/DotNetOpenAuth.OAuth2.ClientAuthorization/DotNetOpenAuth.OAuth2.ClientAuthorization.csproj +++ b/src/DotNetOpenAuth.OAuth2.ClientAuthorization/DotNetOpenAuth.OAuth2.ClientAuthorization.csproj @@ -34,7 +34,7 @@ <Compile Include="OAuth2\Messages\AccessTokenRefreshRequest.cs" /> <Compile Include="OAuth2\Messages\AccessTokenRequestBase.cs" /> <Compile Include="OAuth2\Messages\AccessTokenResourceOwnerPasswordCredentialsRequest.cs" /> - <Compile Include="OAuth2\Messages\AccessTokenResult.cs" /> + <Compile Include="OAuth2\Messages\IAccessTokenResult.cs" /> <Compile Include="OAuth2\Messages\AccessTokenSuccessResponse.cs" /> <Compile Include="OAuth2\Messages\AuthenticatedClientRequestBase.cs" /> <Compile Include="OAuth2\Messages\EndUserAuthorizationFailedResponse.cs" /> diff --git a/src/DotNetOpenAuth.OAuth2.ClientAuthorization/OAuth2/Messages/AccessTokenRequestBase.cs b/src/DotNetOpenAuth.OAuth2.ClientAuthorization/OAuth2/Messages/AccessTokenRequestBase.cs index e6bbc34..9ab6837 100644 --- a/src/DotNetOpenAuth.OAuth2.ClientAuthorization/OAuth2/Messages/AccessTokenRequestBase.cs +++ b/src/DotNetOpenAuth.OAuth2.ClientAuthorization/OAuth2/Messages/AccessTokenRequestBase.cs @@ -45,7 +45,7 @@ namespace DotNetOpenAuth.OAuth2.Messages { /// <summary> /// Gets or sets the result of calling the authorization server host's access token creation method. /// </summary> - AccessTokenResult IAccessTokenRequestInternal.AccessTokenResult { get; set; } + IAccessTokenResult IAccessTokenRequestInternal.AccessTokenResult { get; set; } /// <summary> /// Gets the type of the grant. diff --git a/src/DotNetOpenAuth.OAuth2.ClientAuthorization/OAuth2/Messages/EndUserAuthorizationImplicitRequest.cs b/src/DotNetOpenAuth.OAuth2.ClientAuthorization/OAuth2/Messages/EndUserAuthorizationImplicitRequest.cs index 4b662cd..8932cd3 100644 --- a/src/DotNetOpenAuth.OAuth2.ClientAuthorization/OAuth2/Messages/EndUserAuthorizationImplicitRequest.cs +++ b/src/DotNetOpenAuth.OAuth2.ClientAuthorization/OAuth2/Messages/EndUserAuthorizationImplicitRequest.cs @@ -45,7 +45,7 @@ namespace DotNetOpenAuth.OAuth2.Messages { /// <summary> /// Gets or sets the result of calling the authorization server host's access token creation method. /// </summary> - AccessTokenResult IAccessTokenRequestInternal.AccessTokenResult { get; set; } + IAccessTokenResult IAccessTokenRequestInternal.AccessTokenResult { get; set; } /// <summary> /// Gets a value indicating whether the client requesting the access token has authenticated itself. diff --git a/src/DotNetOpenAuth.OAuth2.ClientAuthorization/OAuth2/Messages/IAccessTokenRequestInternal.cs b/src/DotNetOpenAuth.OAuth2.ClientAuthorization/OAuth2/Messages/IAccessTokenRequestInternal.cs index 44af074..b79d566 100644 --- a/src/DotNetOpenAuth.OAuth2.ClientAuthorization/OAuth2/Messages/IAccessTokenRequestInternal.cs +++ b/src/DotNetOpenAuth.OAuth2.ClientAuthorization/OAuth2/Messages/IAccessTokenRequestInternal.cs @@ -17,6 +17,6 @@ namespace DotNetOpenAuth.OAuth2.Messages { /// <summary> /// Gets or sets the result of calling the authorization server host's access token creation method. /// </summary> - AccessTokenResult AccessTokenResult { get; set; } + IAccessTokenResult AccessTokenResult { get; set; } } } diff --git a/src/DotNetOpenAuth.OAuth2.ClientAuthorization/OAuth2/Messages/IAccessTokenResult.cs b/src/DotNetOpenAuth.OAuth2.ClientAuthorization/OAuth2/Messages/IAccessTokenResult.cs new file mode 100644 index 0000000..1719984 --- /dev/null +++ b/src/DotNetOpenAuth.OAuth2.ClientAuthorization/OAuth2/Messages/IAccessTokenResult.cs @@ -0,0 +1,33 @@ +//----------------------------------------------------------------------- +// <copyright file="IAccessTokenResult.cs" company="Andrew Arnott"> +// Copyright (c) Andrew Arnott. All rights reserved. +// </copyright> +//----------------------------------------------------------------------- + +namespace DotNetOpenAuth.OAuth2 { + using System; + using System.Collections.Generic; + using System.Linq; + using System.Security.Cryptography; + using System.Text; + + /// <summary> + /// Describes the parameters to be fed into creating a response to an access token request. + /// </summary> + public interface IAccessTokenResult { + /// <summary> + /// Gets or sets a value indicating whether to provide the client with a refresh token, when applicable. + /// </summary> + /// <value>The default value is <c>true</c>.</value> + /// <remarks>> + /// The refresh token will never be provided when this value is false. + /// The refresh token <em>may</em> be provided when this value is true. + /// </remarks> + bool AllowRefreshToken { get; set; } + + /// <summary> + /// Gets the access token. + /// </summary> + AccessToken AccessToken { get; } + } +} |