Class BasePkcePlatformSupport
This class contains platform shared logic to handle the authentication flow.
Inherited Members
Namespace: Unity.Cloud.Identity
Syntax
public class BasePkcePlatformSupport : IAuthenticationPlatformSupport, IActivatePlatformSupport
Constructors
BasePkcePlatformSupport(IUrlRedirectionInterceptor, IUrlProcessor, IAppIdProvider, IAppNameProvider, String, String)
Creates a BasePkcePlatformSupport that handles app activation from an url or key value pairs.
Declaration
public BasePkcePlatformSupport(IUrlRedirectionInterceptor urlRedirectionInterceptor, IUrlProcessor urlProcessor, IAppIdProvider appIdProvider, IAppNameProvider appNameProvider, string cacheStorePath, string activationUrl = null)
Parameters
| Type | Name | Description |
|---|---|---|
| IUrlRedirectionInterceptor | urlRedirectionInterceptor | An IUrlRedirectionInterceptor that manages url redirection interception. |
| IUrlProcessor | urlProcessor | |
| IAppIdProvider | appIdProvider | |
| IAppNameProvider | appNameProvider | |
| String | cacheStorePath | |
| String | activationUrl | An optional activation URL |
Fields
m_LoginUrl
The url used to initiate a login operation in the default OS browser.
Declaration
protected string m_LoginUrl
Field Value
| Type | Description |
|---|---|
| String |
m_UrlProcessor
Declaration
protected readonly IUrlProcessor m_UrlProcessor
Field Value
| Type | Description |
|---|---|
| IUrlProcessor |
Properties
ActivationKeyValue
Retrieves the key value pairs used to activate the application.
Declaration
public virtual Dictionary<string, string> ActivationKeyValue { get; protected set; }
Property Value
| Type | Description |
|---|---|
| Dictionary<String, String> |
Implements
ActivationUrl
Retrieves the URL used to activate the application.
Declaration
public virtual string ActivationUrl { get; protected set; }
Property Value
| Type | Description |
|---|---|
| String |
Implements
CodeVerifierCacheStore
The code verifier cache store used in authenticated redirection flow.
Declaration
public virtual IKeyValueStore CodeVerifierCacheStore { get; }
Property Value
| Type | Description |
|---|---|
| IKeyValueStore |
Implements
HostUrl
Retrieves the URL used to activate the application.
Declaration
public virtual string HostUrl { get; protected set; }
Property Value
| Type | Description |
|---|---|
| String |
Implements
SecretCacheStore
The secret cache store used in authenticated redirection flow.
Declaration
public virtual IKeyValueStore SecretCacheStore { get; }
Property Value
| Type | Description |
|---|---|
| IKeyValueStore |
Implements
UrlRedirectionInterceptor
The IUrlRedirectionInterceptor monitoring URL redirection requests.
Declaration
public virtual IUrlRedirectionInterceptor UrlRedirectionInterceptor { get; }
Property Value
| Type | Description |
|---|---|
| IUrlRedirectionInterceptor |
Implements
Methods
ExportServiceAuthorizerToken(String, String)
Exports the token and its token type used to authorize Service endpoints call.
Declaration
public virtual void ExportServiceAuthorizerToken(string type, string token)
Parameters
| Type | Name | Description |
|---|---|---|
| String | type | Authorization type for the token (Bearer or Basic). |
| String | token | The token string value. |
Implements
GetAppStateOverride()
Gets a string override for the default random state parameter used in authenticated redirection flows.
Declaration
public virtual string GetAppStateOverride()
Returns
| Type | Description |
|---|---|
| String | This method returns a string override of the default random state or null if no override is defined. |
Implements
GetCancellationUri()
Gets the cancellation URI expected from the browser when calling OpenUrlAndWaitForRedirectAsync(String, List<String>).
Declaration
public virtual string GetCancellationUri()
Returns
| Type | Description |
|---|---|
| String | The cancellation URI expected from the browser when calling OpenUrlAndWaitForRedirectAsync(String, List<String>). |
Implements
Exceptions
| Type | Condition |
|---|---|
| InvalidOperationException | Thrown if the app isn't awaiting a URL redirection response. |
GetRedirectionResult()
No UrlRedirectResult expected at app initializing time.
Declaration
public virtual UrlRedirectResult? GetRedirectionResult()
Returns
| Type | Description |
|---|---|
| Nullable<UrlRedirectResult> | A null value. |
Implements
GetRedirectUri(String)
Gets the redirection URI expected from the browser when calling OpenUrlAndWaitForRedirectAsync(String, List<String>).
Declaration
public virtual string GetRedirectUri(string operation = null)
Parameters
| Type | Name | Description |
|---|---|---|
| String | operation | Optional string to append to the path of the redirect URI |
Returns
| Type | Description |
|---|---|
| String | The redirection URI expected from the browser when calling OpenUrlAndWaitForRedirectAsync(String, List<String>). |
Implements
GetRedirectUriAsync(String)
Gets the redirection URI expected from the browser when calling OpenUrlAndWaitForRedirectAsync(String, List<String>).
Declaration
public virtual Task<string> GetRedirectUriAsync(string operation = null)
Parameters
| Type | Name | Description |
|---|---|---|
| String | operation | Optional string to append to the path of the redirect URI |
Returns
| Type | Description |
|---|---|
| Task<String> | The redirection URI expected from the browser when calling OpenUrlAndWaitForRedirectAsync(String, List<String>). |
Implements
OpenUrlAndWaitForRedirectAsync(String, List<String>)
Creates a pending task that starts by opening a URL in a browser and is completed when response is intercepted, validated and returns a UrlRedirectResult.
Declaration
public virtual async Task<UrlRedirectResult> OpenUrlAndWaitForRedirectAsync(string url, List<string> awaitedQueryArguments = null)
Parameters
| Type | Name | Description |
|---|---|---|
| String | url | The URL to open. It must trigger a redirection to the URI referenced by GetRedirectUri(String). |
| List<String> | awaitedQueryArguments | The list of query arguments to validate when receiving the awaited callback url. |
Returns
| Type | Description |
|---|---|
| Task<UrlRedirectResult> | A task that results in a UrlRedirectResult when completed. |
Implements
Exceptions
| Type | Condition |
|---|---|
| TimeoutException | Thrown if no redirect occurred within the allotted time limit. |
ProcessActivationUrl(List<String>)
Processes activation URL to either complete a URL redirection flow or consume an authenticated app resource.
Declaration
public virtual void ProcessActivationUrl(List<string> awaitedQueryArguments = null)
Parameters
| Type | Name | Description |
|---|---|---|
| List<String> | awaitedQueryArguments | The list of query arguments to validate when processing the activation URL. |