summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndrew Arnott <andrewarnott@gmail.com>2012-07-22 07:42:36 -0700
committerAndrew Arnott <andrewarnott@gmail.com>2012-07-22 07:42:36 -0700
commit6dba07eda990f75dfea0999b06aba9c2e61fa442 (patch)
treed46a3f201b177480f386f38adeb6fe3ee09b7f05
parent4e2fc05605966377f30e9a59f80330e1a9c3f06c (diff)
downloadDotNetOpenAuth-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.csproj1
-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.csproj2
-rw-r--r--src/DotNetOpenAuth.OAuth2.ClientAuthorization/OAuth2/Messages/AccessTokenRequestBase.cs2
-rw-r--r--src/DotNetOpenAuth.OAuth2.ClientAuthorization/OAuth2/Messages/EndUserAuthorizationImplicitRequest.cs2
-rw-r--r--src/DotNetOpenAuth.OAuth2.ClientAuthorization/OAuth2/Messages/IAccessTokenRequestInternal.cs2
-rw-r--r--src/DotNetOpenAuth.OAuth2.ClientAuthorization/OAuth2/Messages/IAccessTokenResult.cs33
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; }
+ }
+}