* See the License for the specific language governing permissions and
* limitations under the License.
*/
-
+using System;
using System.Collections.Generic;
namespace Tizen.Account.OAuth2
/// Class containing access token and related information.
/// </summary>
/// <since_tizen> 3 </since_tizen>
+ [Obsolete]
public class AccessToken
{
internal AccessToken()
/// The lifetime in seconds of the access token.
/// </summary>
/// <since_tizen> 3 </since_tizen>
+ [Obsolete]
public long ExpiresIn { get; internal set;}
/// <summary>
/// The access token issued by the authorization server.
/// </summary>
/// <since_tizen> 3 </since_tizen>
+ [Obsolete]
public string Token { get; internal set;}
/// <summary>
/// The scope of the access token.
/// </summary>
/// <since_tizen> 3 </since_tizen>
+ [Obsolete]
public IEnumerable<string> Scope { get; internal set;}
/// <summary>
/// The type of the access token.
/// </summary>
/// <since_tizen> 3 </since_tizen>
+ [Obsolete]
public string TokenType { get; internal set;}
}
}
* limitations under the License.
*/
+using System;
namespace Tizen.Account.OAuth2
{
/// <summary>
/// </summary>
/// <since_tizen> 3 </since_tizen>
/// <remarks>Facebook and Google does not support HTTP Basic Authentication, instead they require client credentials to be sent via request body.</remarks>
+ [Obsolete]
public enum AuthenticationScheme
{
/// <summary>
/// The request parameters to be sent to authorization end point.
/// </summary>
/// <since_tizen> 3 </since_tizen>
+ [Obsolete]
public abstract class AuthorizationRequest
{
/// <summary>
/// The desired response type from the OAuth authorization end point.
/// </summary>
/// <since_tizen> 3 </since_tizen>
+ [Obsolete]
public abstract string ResponseType { get; }
/// <summary>
/// Client secret credentials.
/// </summary>
/// <since_tizen> 3 </since_tizen>
+ [Obsolete]
public ClientCredentials ClientSecrets { get; set; }
/// <summary>
/// The scope of the access.
/// </summary>
/// <since_tizen> 3 </since_tizen>
+ [Obsolete]
public IEnumerable<string> Scopes { get; set; }
/// <summary>
/// The authorization end point URL.
/// </summary>
/// <since_tizen> 3 </since_tizen>
+ [Obsolete]
public Uri AuthorizationEndpoint { get; set; }
/// <summary>
/// The redirection endpoint of the auhorization flow.
/// </summary>
/// <since_tizen> 3 </since_tizen>
+ [Obsolete]
public Uri RedirectionEndPoint { get; set; }
/// <summary>
/// The access token end point URL.
/// </summary>
/// <since_tizen> 3 </since_tizen>
+ [Obsolete]
public Uri TokenEndpoint { get; set; }
/// <summary>
/// The client's state which is maintained between request and response.
/// </summary>
/// <since_tizen> 3 </since_tizen>
+ [Obsolete]
public string State { get; set; }
/// <summary>
/// Custom key-value parameters to be sent to the server
/// </summary>
/// <since_tizen> 3 </since_tizen>
+ [Obsolete]
public IEnumerable<KeyValuePair<string, string>> CustomData { get; set; }
}
}
/// The response containing authroization code from the authorization server.
/// </summary>
/// <since_tizen> 3 </since_tizen>
+ [Obsolete]
public class AuthorizationResponse : IDisposable
{
private bool _disposed = false;
/// Releases any unmanaged resources used by this object.
/// </summary>
/// <since_tizen> 3 </since_tizen>
+ [Obsolete]
public void Dispose()
{
Dispose(true);
/// </summary>
/// <since_tizen> 3 </since_tizen>
/// <param name="disposing">If true, disposes any disposable objects. If false, does not dispose disposable objects.</param>
+ [Obsolete]
protected virtual void Dispose(bool disposing)
{
if (_disposed)
/// Also service provider document needs to be referred for using end points and additional parameters.
/// </summary>
/// <since_tizen> 3 </since_tizen>
+ [Obsolete]
public abstract class Authorizer : IDisposable
{
/// Constructor for Authoirzer instances
/// </summary>
/// <since_tizen> 3 </since_tizen>
+ [Obsolete]
public Authorizer()
{
int ret = Interop.Manager.Create(out _managerHandle);
/// Indicates if the current instance is already handling an authorization request
/// </summary>
/// <since_tizen> 3 </since_tizen>
+ [Obsolete]
public bool IsRequestInProgress
{
get
/// Releases any unmanaged resources used by this object.
/// </summary>
/// <since_tizen> 3 </since_tizen>
+ [Obsolete]
public void Dispose()
{
Dispose(true);
/// <privilege>http://tizen.org/privilege/internet</privilege>
/// <exception cref="ArgumentException">Thrown when method failed due to invalid argumets</exception>
/// <exception cref="OAuth2Exception">Thrown when method fails due to server error</exception>
+ [Obsolete]
public virtual async Task<TokenResponse> RefreshAccessTokenAsync(RefreshTokenRequest request)
{
IntPtr requestHandle = GetRequestHandle(request);
/// </summary>
/// <since_tizen> 3 </since_tizen>
/// <param name="disposing">If true, disposes any disposable objects. If false, does not dispose disposable objects.</param>
+ [Obsolete]
protected virtual void Dispose(bool disposing)
{
if (_disposed)
/// Contains client credentials required for authentication in request-body
/// </summary>
/// <since_tizen> 3 </since_tizen>
+ [Obsolete]
public class ClientCredentials
{
/// <summary>
/// The constructor
/// </summary>
/// <since_tizen> 3 </since_tizen>
+ [Obsolete]
public ClientCredentials()
{
/// The client identifier
/// </summary>
/// <since_tizen> 3 </since_tizen>
+ [Obsolete]
public string Id { get; set; }
/// <summary>
/// The client secret
/// </summary>
/// <since_tizen> 3 </since_tizen>
+ [Obsolete]
public string Secret { get; set; }
}
}
/// The ClientCredentialsAuthorizer is used to obtain access tokens using Client Credentials Grant flow as described at https://tools.ietf.org/html/rfc6749#section-4.4
/// </summary>
/// <since_tizen> 3 </since_tizen>
+ [Obsolete]
public class ClientCredentialsAuthorizer : Authorizer
{
/// <summary>
/// The constructor
/// </summary>
/// <since_tizen> 3 </since_tizen>
+ [Obsolete]
public ClientCredentialsAuthorizer()
{
/// </summary>
/// <since_tizen> 3 </since_tizen>
/// <exception cref="InvalidOperationException">Thrown when the operation is not supported</exception>
+ [Obsolete]
public Task<AuthorizationResponse> AuthorizeAsync(AuthorizationRequest request)
{
Log.Error(ErrorFactory.LogTag, "Authorization is not supported in this flow");
/// </summary>
/// <since_tizen> 3 </since_tizen>
/// <exception cref="InvalidOperationException">Thrown when the operation is not supported</exception>
+ [Obsolete]
public override Task<TokenResponse> RefreshAccessTokenAsync(RefreshTokenRequest request)
{
Log.Error(ErrorFactory.LogTag, "Refreshing access token is not supported in this flow");
/// <privilege>http://tizen.org/privilege/internet</privilege>
/// <exception cref="ArgumentException">Thrown when method failed due to invalid argumets</exception>
/// <exception cref="OAuth2Exception">Thrown when method fails due to server error</exception>
+ [Obsolete]
public async Task<TokenResponse> GetAccessTokenAsync(TokenRequest request)
{
IntPtr requestHandle = GetRequestHandle(request as ClientCredentialsTokenRequest);
/// The class contains request parameters for retreiving access token in Client Credentials Grant flow.
/// </summary>
/// <since_tizen> 3 </since_tizen>
+ [Obsolete]
public class ClientCredentialsTokenRequest : TokenRequest
{
/// <summary>
/// The constructor
/// </summary>
/// <since_tizen> 3 </since_tizen>
+ [Obsolete]
public ClientCredentialsTokenRequest()
{
/// The grant type.
/// </summary>
/// <since_tizen> 3 </since_tizen>
+ [Obsolete]
public override string GrantType { get; } = "client_credentials";
}
}
* limitations under the License.
*/
+using System;
namespace Tizen.Account.OAuth2
{
/// <summary>
/// Please refer https://tools.ietf.org/html/rfc6749#section-4.1.1 for more details
/// </summary>
/// <since_tizen> 3 </since_tizen>
+ //[Obsolete]
public class CodeGrantAuthorizationRequest : AuthorizationRequest
{
/// <summary>
/// The constructor
/// </summary>
/// <since_tizen> 3 </since_tizen>
+ [Obsolete]
public CodeGrantAuthorizationRequest()
{
/// The response type parameter to authorization server.
/// </summary>
/// <since_tizen> 3 </since_tizen>
+ [Obsolete]
public override string ResponseType { get; } = "code";
}
}
/// The CodeGrantAuthorizer is used to obtain access tokens and refresh tokens using Authorization Code Grant flow as described at https://tools.ietf.org/html/rfc6749#section-4.1
/// </summary>
/// <since_tizen> 3 </since_tizen>
+ [Obsolete]
public class CodeGrantAuthorizer : Authorizer
{
/// <summary>
/// The constructor
/// </summary>
/// <since_tizen> 3 </since_tizen>
+ [Obsolete]
public CodeGrantAuthorizer()
{
/// <privilege>http://tizen.org/privilege/internet</privilege>
/// <exception cref="ArgumentException">Thrown when method failed due to invalid argumets</exception>
/// <exception cref="OAuth2Exception">Thrown when method fails due to server error</exception>
+ [Obsolete]
public async Task<TokenResponse> GetAccessTokenAsync(TokenRequest request)
{
IntPtr requestHandle = GetRequestHandle(request as CodeGrantTokenRequest);
/// The class contains request parameters for retreiving access token in Authorization Code Grant flow.
/// </summary>
/// <since_tizen> 3 </since_tizen>
+ [Obsolete]
public class CodeGrantTokenRequest : TokenRequest
{
/// <summary>
/// The constructor
/// </summary>
/// <since_tizen> 3 </since_tizen>
+ [Obsolete]
public CodeGrantTokenRequest()
{
/// The grant type
/// </summary>
/// <since_tizen> 3 </since_tizen>
+ [Obsolete]
public override string GrantType { get; } = "authorization_code";
/// <summary>
/// The authoriztion code received from the authorization server.
/// </summary>
/// <since_tizen> 3 </since_tizen>
+ [Obsolete]
public string Code { get; set; }
}
}
* limitations under the License.
*/
+using System;
namespace Tizen.Account.OAuth2
{
/// <summary>
/// The class contains request parameters for retreiving access token in Implicit Grant flow.
/// </summary>
/// <since_tizen> 3 </since_tizen>
+ [Obsolete]
public class ImplicitGrantAuthorizationRequest : AuthorizationRequest
{
/// <summary>
/// The constructor
/// </summary>
/// <since_tizen> 3 </since_tizen>
+ [Obsolete]
public ImplicitGrantAuthorizationRequest()
{
/// The response type parameter to aturhoization server.
/// </summary>
/// <since_tizen> 3 </since_tizen>
+ [Obsolete]
public override string ResponseType { get; } = "token";
}
}
/// The ImplicitGrantAuthorizer is used to obtain access tokens using Implicit Grant flow as described at https://tools.ietf.org/html/rfc6749#section-4.2
/// </summary>
/// <since_tizen> 3 </since_tizen>
+ [Obsolete]
public class ImplicitGrantAuthorizer : Authorizer
{
/// <summary>
/// The constructor
/// </summary>
/// <since_tizen> 3 </since_tizen>
+ [Obsolete]
public ImplicitGrantAuthorizer()
{
/// </summary>
/// <since_tizen> 3 </since_tizen>
/// <exception cref="InvalidOperationException">Thrown when the operation is not supported</exception>
+ [Obsolete]
public Task<TokenResponse> GetAccessTokenAsync(TokenRequest request)
{
Log.Error(ErrorFactory.LogTag, "Obtain token directly from authorization grant ");
/// </summary>
/// <since_tizen> 3 </since_tizen>
/// <exception cref="InvalidOperationException">Thrown when the operation is not supported</exception>
+ [Obsolete]
public override Task<TokenResponse> RefreshAccessTokenAsync(RefreshTokenRequest request)
{
Log.Error(ErrorFactory.LogTag, "Refesh token is not supported in Implicit Grant flow");
/// Exception wrapper for OAuth2 related exception
/// </summary>
/// <since_tizen> 3 </since_tizen>
+ [Obsolete]
public class OAuth2Exception : Exception
{
internal OAuth2Exception()
/// The error response.
/// </summary>
/// <since_tizen> 3 </since_tizen>
+ [Obsolete]
public OAuth2ErrorResponse Error { get; internal set; }
}
/// Wrapper class contaning OAuth2 related error information
/// </summary>
/// <since_tizen> 3 </since_tizen>
+ [Obsolete]
public class OAuth2ErrorResponse
{
internal OAuth2ErrorResponse ()
/// The server error code
/// </summary>
/// <since_tizen> 3 </since_tizen>
+ [Obsolete]
public int ServerErrorCode { get; internal set; }
/// <summary>
/// The platform error cocde
/// </summary>
/// <since_tizen> 3 </since_tizen>
+ [Obsolete]
public int PlatformErrorCode { get; internal set; }
/// <summary>
/// Error description
/// </summary>
/// <since_tizen> 3 </since_tizen>
+ [Obsolete]
public string Error { get; internal set; }
/// <summary>
/// URI of the error page.
/// </summary>
/// <since_tizen> 3 </since_tizen>
+ [Obsolete]
public string ErrorUri { get; internal set; }
}
}
* limitations under the License.
*/
+using System;
namespace Tizen.Account.OAuth2
{
/// <summary>
/// The refresh token which can be used to obtain new access token.
/// </summary>
/// <since_tizen> 3 </since_tizen>
+ [Obsolete]
public class RefreshToken
{
internal RefreshToken ()
/// The refresh token issued to the client.
/// </summary>
/// <since_tizen> 3 </since_tizen>
+ [Obsolete]
public string Token { get; internal set; }
}
}
* limitations under the License.
*/
+using System;
+
namespace Tizen.Account.OAuth2
{
/// <summary>
/// The class contains request parameters for refreshing an access token.
/// </summary>
/// <since_tizen> 3 </since_tizen>
+ [Obsolete]
public class RefreshTokenRequest : TokenRequest
{
/// <summary>
/// The constructor
/// </summary>
/// <since_tizen> 3 </since_tizen>
+ [Obsolete]
public RefreshTokenRequest()
{
/// The grant type to be used
/// </summary>
/// <since_tizen> 3 </since_tizen>
+ [Obsolete]
public override string GrantType { get; } = "refresh_token";
/// <summary>
/// The refresh token issued by authorization server.
/// </summary>
/// <since_tizen> 3 </since_tizen>
+ [Obsolete]
public string RefreshToken { get; set; }
}
}
/// The ResourceOwnerPwdCredentialsAuthorizer is used to obtain access tokens using Resource Owner Password Credentials Grant flow as described at https://tools.ietf.org/html/rfc6749#section-4.3
/// </summary>
/// <since_tizen> 3 </since_tizen>
+ [Obsolete]
public class ResourceOwnerPwdCredentialsAuthorizer : Authorizer
{
/// <summary>
/// The constructor
/// </summary>
/// <since_tizen> 3 </since_tizen>
+ [Obsolete]
public ResourceOwnerPwdCredentialsAuthorizer()
{
/// </summary>
/// <since_tizen> 3 </since_tizen>
/// <exception cref="InvalidOperationException">Thrown when the operation is not supported</exception>
+ [Obsolete]
public Task<AuthorizationResponse> AuthorizeAsync(AuthorizationRequest request)
{
Log.Error(ErrorFactory.LogTag, "Authorization is not supported in this flow");
/// <privilege>http://tizen.org/privilege/internet</privilege>
/// <exception cref="ArgumentException">Thrown when method failed due to invalid argumets</exception>
/// <exception cref="OAuth2Exception">Thrown when method fails due to server error</exception>
+ [Obsolete]
public async Task<TokenResponse> GetAccessTokenAsync(TokenRequest request)
{
IntPtr requestHandle = GetRequestHandle(request as ResourceOwnerPwdCredentialsTokenRequest);
* limitations under the License.
*/
+using System;
+
namespace Tizen.Account.OAuth2
{
/// <summary>
/// The class contains request parameters for retreiving access token in Resource Owner Password Credentials Grant flow.
/// </summary>
/// <since_tizen> 3 </since_tizen>
+ [Obsolete]
public class ResourceOwnerPwdCredentialsTokenRequest : TokenRequest
{
/// <summary>
/// The constructor
/// </summary>
/// <since_tizen> 3 </since_tizen>
+ [Obsolete]
public ResourceOwnerPwdCredentialsTokenRequest()
{
/// The grant type
/// </summary>
/// <since_tizen> 3 </since_tizen>
+ [Obsolete]
public override string GrantType { get; } = "password";
/// <summary>
/// The resource owner username
/// </summary>
/// <since_tizen> 3 </since_tizen>
+ [Obsolete]
public string Username { get; set; }
/// <summary>
/// The resource owner password
/// </summary>
/// <since_tizen> 3 </since_tizen>
+ [Obsolete]
public string Password { get; set; }
}
}
/// Abstract wrapper class containing OAuth 2.0 request parameters for requesting an access token.
/// </summary>
/// <since_tizen> 3 </since_tizen>
+ [Obsolete]
public abstract class TokenRequest
{
/// <summary>
/// The Grant type
/// </summary>
/// <since_tizen> 3 </since_tizen>
+ [Obsolete]
public abstract string GrantType { get; }
/// <summary>
/// The client credentials
/// </summary>
/// <since_tizen> 3 </since_tizen>
+ [Obsolete]
public ClientCredentials ClientSecrets { get; set; }
/// <summary>
/// The access token end point URL.
/// </summary>
/// <since_tizen> 3 </since_tizen>
+ [Obsolete]
public Uri TokenEndpoint { get; set; }
/// <summary>
/// The redirection endpoint of the auhorization flow.
/// </summary>
/// <since_tizen> 3 </since_tizen>
+ [Obsolete]
public Uri RedirectionEndPoint { get; set; }
/// <summary>
/// The scope of the access request as described by https://tools.ietf.org/html/rfc6749#section-3.3
/// </summary>
/// <since_tizen> 3 </since_tizen>
+ [Obsolete]
public IEnumerable<string> Scopes { get; set; }
/// <summary>
/// Custom key-value parameters to be sent to the server
/// </summary>
/// <since_tizen> 3 </since_tizen>
+ [Obsolete]
public IEnumerable<KeyValuePair<string, string>> CustomData { get; set; }
/// <summary>
/// Client authentication scheme. Default is Basic
/// </summary>
/// <since_tizen> 3 </since_tizen>
+ [Obsolete]
public AuthenticationScheme AuthenticationScheme { get; set; } = AuthenticationScheme.Basic;
/// <summary>
/// The client's state which is maintained between request and response.
/// </summary>
/// <since_tizen> 3 </since_tizen>
+ [Obsolete]
public string State { get; set; }
}
}
/// The response from authroization server containing access token and an optional refresh token.
/// </summary>
/// <since_tizen> 3 </since_tizen>
+ [Obsolete]
public class TokenResponse
{
private bool _disposed = false;
/// The access token
/// </summary>
/// <since_tizen> 3 </since_tizen>
+ [Obsolete]
public AccessToken AccessToken { get; internal set; }
/// <summary>
/// <remarks>
/// The value can be null depending on the server specifications.
/// </remarks>
+ [Obsolete]
public string State { get; internal set; }
/// <summary>
/// <remarks>
/// Issuing a refresh token is optional at the discretion of the authorization server.
/// </remarks>
+ [Obsolete]
public RefreshToken RefreshToken { get; internal set; }
/// <summary>
/// <since_tizen> 3 </since_tizen>
/// <returns>The value of respecitve key </returns>
/// <exception cref="System.ArgumentException">Thrown when the key does not exist or when there is an invalid parameter.</exception>
+ [Obsolete]
public string GetCustomValue(string key)
{
IntPtr value;
/// Releases any unmanaged resources used by this object.
/// </summary>
/// <since_tizen> 3 </since_tizen>
+ [Obsolete]
public void Dispose()
{
Dispose(true);
/// </summary>
/// <since_tizen> 3 </since_tizen>
/// <param name="disposing">If true, disposes any disposable objects. If false, does not dispose disposable objects.</param>
+ [Obsolete]
protected virtual void Dispose(bool disposing)
{
if (_disposed)