Interface IOAuth2Client
Represents an OAuth2 client application that can perform the basic flows outlined in RFC 6749, as well as extensions such as OAuth2 Device Authorization Grant (RFC 8628).
Namespace: GitCredentialManager.Authentication.OAuth
Assembly: Algenta.Colectica.Repository.Client.dll
Syntax
public interface IOAuth2Client
Methods
GetAuthorizationCodeAsync(IEnumerable<string>, IOAuth2WebBrowser, CancellationToken)
Retrieve an authorization code grant using a user agent.
Declaration
Task<OAuth2AuthorizationCodeResult> GetAuthorizationCodeAsync(IEnumerable<string> scopes, IOAuth2WebBrowser browser, CancellationToken ct)
Parameters
Type | Name | Description |
---|---|---|
IEnumerable<string> | scopes | Scopes to request. |
IOAuth2WebBrowser | browser | User agent to use to start the authorization code grant flow. |
CancellationToken | ct | Token to cancel the operation. |
Returns
Type | Description |
---|---|
Task<OAuth2AuthorizationCodeResult> | Authorization code. |
GetDeviceCodeAsync(IEnumerable<string>, CancellationToken)
Retrieve a device code grant.
Declaration
Task<OAuth2DeviceCodeResult> GetDeviceCodeAsync(IEnumerable<string> scopes, CancellationToken ct)
Parameters
Type | Name | Description |
---|---|---|
IEnumerable<string> | scopes | Scopes to request. |
CancellationToken | ct | Token to cancel the operation. |
Returns
Type | Description |
---|---|
Task<OAuth2DeviceCodeResult> | Device code grant result. |
Exceptions
Type | Condition |
---|---|
InvalidOperationException | Thrown if the client has not been configured with a device authorization endpoint. |
GetTokenByAuthorizationCodeAsync(OAuth2AuthorizationCodeResult, CancellationToken)
Exchange an authorization code acquired from GetAuthorizationCodeAsync(IEnumerable<string>, IOAuth2WebBrowser, CancellationToken) for an access token.
Declaration
Task<OAuth2TokenResult> GetTokenByAuthorizationCodeAsync(OAuth2AuthorizationCodeResult authorizationCodeResult, CancellationToken ct)
Parameters
Type | Name | Description |
---|---|---|
OAuth2AuthorizationCodeResult | authorizationCodeResult | Authorization code grant result. |
CancellationToken | ct | Token to cancel the operation. |
Returns
Type | Description |
---|---|
Task<OAuth2TokenResult> | Token result. |
GetTokenByDeviceCodeAsync(OAuth2DeviceCodeResult, CancellationToken)
Exchange a device code grant acquired from GetDeviceCodeAsync(IEnumerable<string>, CancellationToken) for an access token.
Declaration
Task<OAuth2TokenResult> GetTokenByDeviceCodeAsync(OAuth2DeviceCodeResult deviceCodeResult, CancellationToken ct)
Parameters
Type | Name | Description |
---|---|---|
OAuth2DeviceCodeResult | deviceCodeResult | Device code grant result. |
CancellationToken | ct | Token to cancel the operation. |
Returns
Type | Description |
---|---|
Task<OAuth2TokenResult> | Token result. |
GetTokenByRefreshTokenAsync(string, CancellationToken)
Use a refresh token to get a new access token.
Declaration
Task<OAuth2TokenResult> GetTokenByRefreshTokenAsync(string refreshToken, CancellationToken ct)
Parameters
Type | Name | Description |
---|---|---|
string | refreshToken | Refresh token. |
CancellationToken | ct | Token to cancel the operation. |
Returns
Type | Description |
---|---|
Task<OAuth2TokenResult> | Token result. |