Class ChannelPkcePlatformSupport
This class contains platform shared logic to handle the authentication flow.
Inherited Members
Namespace: Unity.Cloud.Identity
Assembly: Unity.Cloud.Identity.dll
Syntax
public class ChannelPkcePlatformSupport : BasePkcePlatformSupport, IAuthenticationPlatformSupport, IActivatePlatformSupport
Constructors
ChannelPkcePlatformSupport(IHttpClient, IServiceHostResolver, IUrlRedirectionInterceptor, IUrlProcessor, IAppIdProvider, IAppNamespaceProvider, string, string)
Declaration
public ChannelPkcePlatformSupport(IHttpClient httpClient, IServiceHostResolver serviceHostResolver, IUrlRedirectionInterceptor urlRedirectionInterceptor, IUrlProcessor urlProcessor, IAppIdProvider appIdProvider, IAppNamespaceProvider appNamespaceProvider, string cacheStorePath, string activationUrl = null)
Parameters
Type | Name | Description |
---|---|---|
IHttpClient | httpClient | |
IServiceHostResolver | serviceHostResolver | |
IUrlRedirectionInterceptor | urlRedirectionInterceptor | |
IUrlProcessor | urlProcessor | |
IAppIdProvider | appIdProvider | |
IAppNamespaceProvider | appNamespaceProvider | |
string | cacheStorePath | |
string | activationUrl |
Methods
GetCancellationUri()
Gets the cancellation URI expected from the browser when calling OpenUrlAndWaitForRedirectAsync(string, List<string>).
Declaration
public override string GetCancellationUri()
Returns
Type | Description |
---|---|
string | The cancellation URI expected from the browser when calling OpenUrlAndWaitForRedirectAsync(string, List<string>). |
Overrides
Exceptions
Type | Condition |
---|---|
InvalidOperationException | Thrown if the app isn't awaiting a URL redirection response. |
GetRedirectUriAsync(string)
Gets the redirection URI expected from the browser when calling OpenUrlAndWaitForRedirectAsync(string, List<string>).
Declaration
public override 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>). |
Overrides
GetRedirectionResult()
This method returns the Unity.Cloud.AppLinking.UrlRedirectResult captured at app initializing time, or null if none available.
Declaration
public override UrlRedirectResult? GetRedirectionResult()
Returns
Type | Description |
---|---|
UrlRedirectResult? | The Unity.Cloud.AppLinking.UrlRedirectResult captured at app initializing time, or null if none available on the specific platform. |
Overrides
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 Unity.Cloud.AppLinking.UrlRedirectResult.
Declaration
public override 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 Unity.Cloud.AppLinking.UrlRedirectResult when completed. |
Overrides
Exceptions
Type | Condition |
---|---|
TimeoutException | Thrown if no redirect occurred within the allotted time limit. |