/// <summary> /// Use for confirm software mfa token via authentication. /// </summary> /// <param name="code">Software mfa token from app</param> /// <param name="sessionToken">Not required, may be null. Use in <see cref="VerifySoftwareTokenRequest"/></param> /// <returns></returns> public async Task <bool> VerifySoftwareTokenAsync(string code, string sessionToken = null) { if (string.IsNullOrEmpty(code)) { throw new ArgumentNullException(nameof(code)); } EnsureUserAuthenticated(); VerifySoftwareTokenRequest request = new VerifySoftwareTokenRequest { AccessToken = SessionTokens.AccessToken, FriendlyDeviceName = Device.GetDeviceName() ?? string.Empty, Session = sessionToken, UserCode = code }; VerifySoftwareTokenResponse response = await Provider.VerifySoftwareTokenAsync(request).ConfigureAwait(false); return(response.Status == VerifySoftwareTokenResponseType.SUCCESS); }
public async Task <bool> VerifyTwoFactorTokenAsync(TUser user, string tokenProvider, string token) { if (user == null) { throw new ArgumentNullException(nameof(user)); } var request = new VerifySoftwareTokenRequest { UserCode = token, AccessToken = user.SessionTokens.AccessToken }; try { var response = await _cognitoClient.VerifySoftwareTokenAsync(request).ConfigureAwait(false); return(response.Status == VerifySoftwareTokenResponseType.SUCCESS); } catch (AmazonCognitoIdentityProviderException e) { throw new CognitoServiceException("Failed to verify Software Token for the Cognito User", e); } }
public void VerifySoftwareTokenAsync(VerifySoftwareTokenRequest request, AmazonServiceCallback <VerifySoftwareTokenRequest, VerifySoftwareTokenResponse> callback, AsyncOptions options = null) { throw new System.NotImplementedException(); }