Пример #1
0
        public async Task <RefreshTokenResult> RefreshTokenAsync(string refreshToken, object extraParameters = null, CancellationToken cancellationToken = default)
        {
            var refereshTokenInfo = await _auth0Client.RefreshTokenAsync(refreshToken, extraParameters, cancellationToken);

            if (refereshTokenInfo != null && (!refereshTokenInfo.IsError))
            {
                await StoreTokenDataInSecureStorage(refereshTokenInfo.IdentityToken, refereshTokenInfo.RefreshToken, refereshTokenInfo.AccessTokenExpiration.ToString());
            }
            return(refereshTokenInfo);
        }
        public async Task <Tokens> Reauthorize(string refreshToken)
        {
            var tokensResult = await _client.RefreshTokenAsync(refreshToken);

            if (tokensResult.IsError)
            {
                throw new RefreshTokenException();
            }

            return(new Tokens
            {
                AccessToken = tokensResult.AccessToken,
                RefreshToken = tokensResult.RefreshToken
            });
        }
        public async Task <AuthenticationResult> Refresh()
        {
            string refreshToken = await SecureStorage.GetAsync(RefreshToken);

            if (!string.IsNullOrEmpty(refreshToken))
            {
                var refreshResult = await _auth0Client.RefreshTokenAsync(refreshToken);

                if (!refreshResult.IsError)
                {
                    var authenticationResult = new AuthenticationResult()
                    {
                        AccessToken = refreshResult.AccessToken,
                        IdToken     = refreshResult.IdentityToken,
                    };

                    return(authenticationResult);
                }
            }

            return(null);
        }