/// <summary>
        /// Starts a logout.
        /// </summary>
        /// <param name="request">The logout request.</param>
        /// <param name="cancellationToken">A token that can be used to cancel the request</param>
        /// <returns></returns>
        public virtual async Task <LogoutResult> LogoutAsync(LogoutRequest request = null, CancellationToken cancellationToken = default)
        {
            if (request == null)
            {
                request = new LogoutRequest();
            }

            await EnsureConfigurationAsync(cancellationToken);

            var result = await _authorizeClient.EndSessionAsync(request, cancellationToken);

            if (result.ResultType != Browser.BrowserResultType.Success)
            {
                return(new LogoutResult(result.ResultType.ToString())
                {
                    Response = result.Response
                });
            }
            else
            {
                return(new LogoutResult
                {
                    Response = result.Response
                });
            }
        }
        /// <summary>
        /// Starts a logout.
        /// </summary>
        /// <param name="request">The logout request.</param>
        /// <returns></returns>
        public virtual async Task LogoutAsync(LogoutRequest request = null)
        {
            if (request == null) request = new LogoutRequest();
            await EnsureConfigurationAsync();

            await _authorizeClient.EndSessionAsync(request);
        }
Exemple #3
0
        public async Task LogoutAsync(LogoutRequest request = null)
        {
            if (request == null)
            {
                request = new LogoutRequest();
            }

            await _authorizeClient.EndSessionAsync(request);
        }
 /// <summary>
 /// Starts and end session request.
 /// </summary>
 /// <param name="identityToken">An identity token to send as a hint.</param>
 /// <param name="trySilent">if set to <c>true</c> a silent end session attempt is made.</param>
 /// <returns></returns>
 public Task LogoutAsync(string identityToken = null, bool trySilent = true)
 {
     return(_authorizeClient.EndSessionAsync(identityToken, trySilent));
 }