Class PKCEOAuthFlow
Object used to execute OAuth through PKCE Use this object to maintain code verifier and challenge using S256 method.
Inherited Members
Namespace: Dropbox.Api
Assembly: Dropbox.Api.dll
Syntax
public class PKCEOAuthFlow
Constructors
View SourcePKCEOAuthFlow()
Initializes a new instance of the PKCEOAuthFlow class. Default constructor that also generates code verifier and code challenge to be used in PKCE flow.
Declaration
public PKCEOAuthFlow()
Methods
View SourceGetAuthorizeUri(OAuthResponseType, string, string, string, bool, bool, string, bool, TokenAccessType, string[], IncludeGrantedScopes)
Gets the URI used to start the OAuth2.0 authorization flow. Passes in codeChallenge generated in this class.
Declaration
public Uri GetAuthorizeUri(OAuthResponseType oauthResponseType, string clientId, string redirectUri = null, string state = null, bool forceReapprove = false, bool disableSignup = false, string requireRole = null, bool forceReauthentication = false, TokenAccessType tokenAccessType = TokenAccessType.Legacy, string[] scopeList = null, IncludeGrantedScopes includeGrantedScopes = IncludeGrantedScopes.None)
Parameters
| Type | Name | Description |
|---|---|---|
| OAuthResponseType | oauthResponseType | The grant type requested, either |
| string | clientId | The apps key, found in the App Console. |
| string | redirectUri | Where to redirect the user after authorization has completed. This must be the exact URI
registered in the App Console; even |
| string | state | Up to 500 bytes of arbitrary data that will be passed back to |
| bool | forceReapprove | Whether or not to force the user to approve the app again if they've already done so.
If |
| bool | disableSignup | When |
| string | requireRole | If this parameter is specified, the user will be asked to authorize with a particular type of Dropbox account, either work for a team account or personal for a personal account. Your app should still verify the type of Dropbox account after authorization since the user could modify or remove the require_role parameter. |
| bool | forceReauthentication | If |
| TokenAccessType | tokenAccessType | Determines the type of token to request. See TokenAccessType for information on specific types available. If none is specified, this will use the legacy type. |
| string[] | scopeList | list of scopes to request in base oauth flow. If left blank, will default to all scopes for app. |
| IncludeGrantedScopes | includeGrantedScopes | which scopes to include from previous grants. Note: if this user has never linked the app, include_granted_scopes must be None. |
Returns
| Type | Description |
|---|---|
| Uri | The uri of a web page which must be displayed to the user in order to authorize the app. |
ProcessCodeFlowAsync(string, string, string, HttpClient)
Processes the second half of the OAuth 2.0 code flow. Uses the codeVerifier created in this class to execute the second half.
Declaration
public Task<OAuth2Response> ProcessCodeFlowAsync(string code, string appKey, string redirectUri = null, HttpClient client = null)
Parameters
| Type | Name | Description |
|---|---|---|
| string | code | The code acquired in the query parameters of the redirect from the initial authorize url. |
| string | appKey | The application key, found in the App Console. |
| string | redirectUri | The redirect URI that was provided in the initial authorize URI, this is only used to validate that it matches the original request, it is not used to redirect again. |
| HttpClient | client | An optional http client instance used to make requests. |
Returns
| Type | Description |
|---|---|
| Task<OAuth2Response> | The authorization response, containing the access token and uid of the authorized user. |
ProcessCodeFlowAsync(Uri, string, string, string, HttpClient)
Processes the second half of the OAuth 2.0 code flow. Uses the codeVerifier created in this class to execute second half.
Declaration
public Task<OAuth2Response> ProcessCodeFlowAsync(Uri responseUri, string appKey, string redirectUri = null, string state = null, HttpClient client = null)
Parameters
| Type | Name | Description |
|---|---|---|
| Uri | responseUri | The URI to which the user was redirected after the initial authorization request. |
| string | appKey | The application key, found in the App Console. |
| string | redirectUri | The redirect URI that was provided in the initial authorize URI, this is only used to validate that it matches the original request, it is not used to redirect again. |
| string | state | The state parameter (if any) that matches that used in the initial authorize URI. |
| HttpClient | client | An optional http client instance used to make requests. |
Returns
| Type | Description |
|---|---|
| Task<OAuth2Response> | The authorization response, containing the access token and uid of the authorized user. |