Esempio n. 1
0
 public async Task <bool> LoginAsync(string userName, string password) =>
 (await OAuthClient.GetAccessToken(userName, password))
 .OnFailure(result =>
 {
     GetAccessTokenFailed?.Invoke(result.Error);
     _authParameters = AuthParameters.Empty;
 })
 .OnSuccess(result => GetAccessTokenSucceed?.Invoke(result.Value.AccessToken.Value))
 .OnSuccess(result => _authParameters = AuthParameters.Create(
                accessToken: result.Value.AccessToken.Value,
                accessTokenExpiration: result.Value.AccessToken.ExpireInSeconds,
                refreshToken: result.Value.RefreshToken.Value))
 .OnSuccess(() =>
 {
     _refreshCancellationTokenSource = new CancellationTokenSource();
     BeginTokenRefreshLoop(_refreshCancellationTokenSource.Token);
 }).IsSuccess;
Esempio n. 2
0
 private async Task <Result <AuthParameters> > RefreshAccessToken(string refreshToken) =>
 (await OAuthClient.RefreshAccessToken(refreshToken))
 .Map(result => AuthParameters.Create(
          accessToken: result.AccessToken.Value,
          accessTokenExpiration: result.AccessToken.ExpireInSeconds,
          refreshToken: result.RefreshToken.Value));