diff options
author | Andrew Arnott <andrewarnott@gmail.com> | 2012-02-23 07:47:08 -0800 |
---|---|---|
committer | Andrew Arnott <andrewarnott@gmail.com> | 2012-02-23 07:47:08 -0800 |
commit | 8679fd44bbe14b590353c128d47e9a73cf180160 (patch) | |
tree | 7b69e3a3170c6c825cb958863a924146c3e427ba /src/DotNetOpenAuth.OAuth2/OAuth2/Messages | |
parent | d1ef15d419f5235cc7266c9128790e20b92c5e58 (diff) | |
download | DotNetOpenAuth-8679fd44bbe14b590353c128d47e9a73cf180160.zip DotNetOpenAuth-8679fd44bbe14b590353c128d47e9a73cf180160.tar.gz DotNetOpenAuth-8679fd44bbe14b590353c128d47e9a73cf180160.tar.bz2 |
Split out the authorization carrying messages into distinct interfaces.
This is to support additional grant types such as resource owner password credential and client credentials.
Diffstat (limited to 'src/DotNetOpenAuth.OAuth2/OAuth2/Messages')
5 files changed, 58 insertions, 62 deletions
diff --git a/src/DotNetOpenAuth.OAuth2/OAuth2/Messages/AccessProtectedResourceRequest.cs b/src/DotNetOpenAuth.OAuth2/OAuth2/Messages/AccessProtectedResourceRequest.cs index c069d08..246a4ef 100644 --- a/src/DotNetOpenAuth.OAuth2/OAuth2/Messages/AccessProtectedResourceRequest.cs +++ b/src/DotNetOpenAuth.OAuth2/OAuth2/Messages/AccessProtectedResourceRequest.cs @@ -20,7 +20,7 @@ namespace DotNetOpenAuth.OAuth2.Messages { /// When support for additional access token types is added, this class should probably be refactored /// into derived types, where each derived type supports a particular access token type. /// </remarks> - internal class AccessProtectedResourceRequest : MessageBase, IAuthorizationCarryingRequest { + internal class AccessProtectedResourceRequest : MessageBase, IAccessTokenCarryingRequest { /// <summary> /// Initializes a new instance of the <see cref="AccessProtectedResourceRequest"/> class. /// </summary> @@ -30,19 +30,12 @@ namespace DotNetOpenAuth.OAuth2.Messages { : base(version, MessageTransport.Direct, recipient) { } - /// <summary> - /// Gets the type of the code or token. - /// </summary> - /// <value>The type of the code or token.</value> - CodeOrTokenType IAuthorizationCarryingRequest.CodeOrTokenType { - get { return CodeOrTokenType.AccessToken; } - } + #region IAccessTokenCarryingRequest Members /// <summary> - /// Gets or sets the verification code or refresh/access token. + /// Gets or sets the access token. /// </summary> - /// <value>The code or token.</value> - string IAuthorizationCarryingRequest.CodeOrToken { + string IAccessTokenCarryingRequest.AccessToken { get { return this.AccessToken; } set { this.AccessToken = value; } } @@ -50,7 +43,16 @@ namespace DotNetOpenAuth.OAuth2.Messages { /// <summary> /// Gets or sets the authorization that the token describes. /// </summary> - IAuthorizationDescription IAuthorizationCarryingRequest.AuthorizationDescription { get; set; } + AccessToken IAccessTokenCarryingRequest.AuthorizationDescription { get; set; } + + /// <summary> + /// Gets the authorization that the token describes. + /// </summary> + IAuthorizationDescription IAuthorizationCarryingRequest.AuthorizationDescription { + get { return ((IAccessTokenCarryingRequest)this).AuthorizationDescription; } + } + + #endregion /// <summary> /// Gets the type of the access token. diff --git a/src/DotNetOpenAuth.OAuth2/OAuth2/Messages/AccessTokenAuthorizationCodeRequest.cs b/src/DotNetOpenAuth.OAuth2/OAuth2/Messages/AccessTokenAuthorizationCodeRequest.cs index 4931040..1f244f9 100644 --- a/src/DotNetOpenAuth.OAuth2/OAuth2/Messages/AccessTokenAuthorizationCodeRequest.cs +++ b/src/DotNetOpenAuth.OAuth2/OAuth2/Messages/AccessTokenAuthorizationCodeRequest.cs @@ -18,7 +18,7 @@ namespace DotNetOpenAuth.OAuth2.Messages { /// A request from a Client to an Authorization Server to exchange an authorization code for an access token, /// and (at the authorization server's option) a refresh token. /// </summary> - internal class AccessTokenAuthorizationCodeRequest : AccessTokenRequestBase, IAuthorizationCarryingRequest { + internal class AccessTokenAuthorizationCodeRequest : AccessTokenRequestBase, IAuthorizationCodeCarryingRequest { /// <summary> /// Initializes a new instance of the <see cref="AccessTokenAuthorizationCodeRequest"/> class. /// </summary> @@ -37,19 +37,13 @@ namespace DotNetOpenAuth.OAuth2.Messages { Requires.NotNull(authorizationServer, "authorizationServer"); } - /// <summary> - /// Gets the type of the code or token. - /// </summary> - /// <value>The type of the code or token.</value> - CodeOrTokenType IAuthorizationCarryingRequest.CodeOrTokenType { - get { return CodeOrTokenType.AuthorizationCode; } - } + #region IAuthorizationCodeCarryingRequest Members /// <summary> /// Gets or sets the verification code or refresh/access token. /// </summary> /// <value>The code or token.</value> - string IAuthorizationCarryingRequest.CodeOrToken { + string IAuthorizationCodeCarryingRequest.Code { get { return this.AuthorizationCode; } set { this.AuthorizationCode = value; } } @@ -57,7 +51,16 @@ namespace DotNetOpenAuth.OAuth2.Messages { /// <summary> /// Gets or sets the authorization that the token describes. /// </summary> - IAuthorizationDescription IAuthorizationCarryingRequest.AuthorizationDescription { get; set; } + AuthorizationCode IAuthorizationCodeCarryingRequest.AuthorizationDescription { get; set; } + + /// <summary> + /// Gets the authorization that the code describes. + /// </summary> + IAuthorizationDescription IAuthorizationCarryingRequest.AuthorizationDescription { + get { return ((IAuthorizationCodeCarryingRequest)this).AuthorizationDescription; } + } + + #endregion /// <summary> /// Gets the type of the grant. diff --git a/src/DotNetOpenAuth.OAuth2/OAuth2/Messages/AccessTokenRefreshRequest.cs b/src/DotNetOpenAuth.OAuth2/OAuth2/Messages/AccessTokenRefreshRequest.cs index ca7abf0..2c3ab25 100644 --- a/src/DotNetOpenAuth.OAuth2/OAuth2/Messages/AccessTokenRefreshRequest.cs +++ b/src/DotNetOpenAuth.OAuth2/OAuth2/Messages/AccessTokenRefreshRequest.cs @@ -14,7 +14,7 @@ namespace DotNetOpenAuth.OAuth2.Messages { /// A request from the client to the token endpoint for a new access token /// in exchange for a refresh token that the client has previously obtained. /// </summary> - internal class AccessTokenRefreshRequest : ScopedAccessTokenRequest, IAuthorizationCarryingRequest { + internal class AccessTokenRefreshRequest : ScopedAccessTokenRequest, IRefreshTokenCarryingRequest { /// <summary> /// Initializes a new instance of the <see cref="AccessTokenRefreshRequest"/> class. /// </summary> @@ -32,19 +32,13 @@ namespace DotNetOpenAuth.OAuth2.Messages { : this(authorizationServer.TokenEndpoint, authorizationServer.Version) { } - /// <summary> - /// Gets the type of the code or token. - /// </summary> - /// <value>The type of the code or token.</value> - CodeOrTokenType IAuthorizationCarryingRequest.CodeOrTokenType { - get { return CodeOrTokenType.RefreshToken; } - } + #region IRefreshTokenCarryingRequest members /// <summary> /// Gets or sets the verification code or refresh/access token. /// </summary> /// <value>The code or token.</value> - string IAuthorizationCarryingRequest.CodeOrToken { + string IRefreshTokenCarryingRequest.RefreshToken { get { return this.RefreshToken; } set { this.RefreshToken = value; } } @@ -52,7 +46,16 @@ namespace DotNetOpenAuth.OAuth2.Messages { /// <summary> /// Gets or sets the authorization that the token describes. /// </summary> - IAuthorizationDescription IAuthorizationCarryingRequest.AuthorizationDescription { get; set; } + RefreshToken IRefreshTokenCarryingRequest.AuthorizationDescription { get; set; } + + /// <summary> + /// Gets the authorization that the token describes. + /// </summary> + IAuthorizationDescription IAuthorizationCarryingRequest.AuthorizationDescription { + get { return ((IRefreshTokenCarryingRequest)this).AuthorizationDescription; } + } + + #endregion /// <summary> /// Gets or sets the refresh token. diff --git a/src/DotNetOpenAuth.OAuth2/OAuth2/Messages/EndUserAuthorizationSuccessAccessTokenResponse.cs b/src/DotNetOpenAuth.OAuth2/OAuth2/Messages/EndUserAuthorizationSuccessAccessTokenResponse.cs index 5456c97..5c03e7a 100644 --- a/src/DotNetOpenAuth.OAuth2/OAuth2/Messages/EndUserAuthorizationSuccessAccessTokenResponse.cs +++ b/src/DotNetOpenAuth.OAuth2/OAuth2/Messages/EndUserAuthorizationSuccessAccessTokenResponse.cs @@ -19,7 +19,7 @@ namespace DotNetOpenAuth.OAuth2.Messages { /// to indicate that user authorization was granted, carrying only an access token, /// and to return the user to the Client where they started their experience. /// </summary> - internal class EndUserAuthorizationSuccessAccessTokenResponse : EndUserAuthorizationSuccessResponseBase, IAuthorizationCarryingRequest, IHttpIndirectResponse { + internal class EndUserAuthorizationSuccessAccessTokenResponse : EndUserAuthorizationSuccessResponseBase, IAccessTokenCarryingRequest, IHttpIndirectResponse { /// <summary> /// Initializes a new instance of the <see cref="EndUserAuthorizationSuccessAccessTokenResponse"/> class. /// </summary> @@ -45,31 +45,21 @@ namespace DotNetOpenAuth.OAuth2.Messages { this.TokenType = Protocol.AccessTokenTypes.Bearer; } - #region IAuthorizationCarryingRequest Members + #region IAccessTokenCarryingRequest Members /// <summary> - /// Gets or sets the verification code or refresh/access token. + /// Gets or sets the authorization that the token describes. /// </summary> - /// <value>The code or token.</value> - string IAuthorizationCarryingRequest.CodeOrToken { - get { return this.AccessToken; } - set { this.AccessToken = value; } - } + /// <value></value> + AccessToken IAccessTokenCarryingRequest.AuthorizationDescription { get; set; } /// <summary> - /// Gets the type of the code or token. + /// Gets the authorization that the token describes. /// </summary> - /// <value>The type of the code or token.</value> - CodeOrTokenType IAuthorizationCarryingRequest.CodeOrTokenType { - get { return CodeOrTokenType.AccessToken; } + IAuthorizationDescription IAuthorizationCarryingRequest.AuthorizationDescription { + get { return ((IAccessTokenCarryingRequest)this).AuthorizationDescription; } } - /// <summary> - /// Gets or sets the authorization that the token describes. - /// </summary> - /// <value></value> - IAuthorizationDescription IAuthorizationCarryingRequest.AuthorizationDescription { get; set; } - #endregion #region IHttpIndirectResponse Members diff --git a/src/DotNetOpenAuth.OAuth2/OAuth2/Messages/EndUserAuthorizationSuccessAuthCodeResponse.cs b/src/DotNetOpenAuth.OAuth2/OAuth2/Messages/EndUserAuthorizationSuccessAuthCodeResponse.cs index 179c342..dcacc14 100644 --- a/src/DotNetOpenAuth.OAuth2/OAuth2/Messages/EndUserAuthorizationSuccessAuthCodeResponse.cs +++ b/src/DotNetOpenAuth.OAuth2/OAuth2/Messages/EndUserAuthorizationSuccessAuthCodeResponse.cs @@ -16,7 +16,7 @@ namespace DotNetOpenAuth.OAuth2.Messages { /// to indicate that user authorization was granted, carrying an authorization code and possibly an access token, /// and to return the user to the Client where they started their experience. /// </summary> - internal class EndUserAuthorizationSuccessAuthCodeResponse : EndUserAuthorizationSuccessResponseBase, IAuthorizationCarryingRequest { + internal class EndUserAuthorizationSuccessAuthCodeResponse : EndUserAuthorizationSuccessResponseBase, IAuthorizationCodeCarryingRequest { /// <summary> /// Initializes a new instance of the <see cref="EndUserAuthorizationSuccessAuthCodeResponse"/> class. /// </summary> @@ -40,29 +40,27 @@ namespace DotNetOpenAuth.OAuth2.Messages { ((IMessageWithClientState)this).ClientState = request.ClientState; } - #region IAuthorizationCarryingRequest Members + #region IAuthorizationCodeCarryingRequest Members /// <summary> - /// Gets or sets the verification code or refresh/access token. + /// Gets or sets the authorization code. /// </summary> - /// <value>The code or token.</value> - string IAuthorizationCarryingRequest.CodeOrToken { + string IAuthorizationCodeCarryingRequest.Code { get { return this.AuthorizationCode; } set { this.AuthorizationCode = value; } } /// <summary> - /// Gets the type of the code or token. + /// Gets or sets the authorization that the token describes. /// </summary> - /// <value>The type of the code or token.</value> - CodeOrTokenType IAuthorizationCarryingRequest.CodeOrTokenType { - get { return CodeOrTokenType.AuthorizationCode; } - } + AuthorizationCode IAuthorizationCodeCarryingRequest.AuthorizationDescription { get; set; } /// <summary> - /// Gets or sets the authorization that the token describes. + /// Gets the authorization that the code describes. /// </summary> - IAuthorizationDescription IAuthorizationCarryingRequest.AuthorizationDescription { get; set; } + IAuthorizationDescription IAuthorizationCarryingRequest.AuthorizationDescription { + get { return ((IAuthorizationCodeCarryingRequest)this).AuthorizationDescription; } + } #endregion |