以下是常见的代码,除了可能的"signout“调用。
final CognitoUser user = awsUserPool.getUser(email);
user.signOut();
user.getSessionInBackground(new AuthenticationHandler() {
@Override
public void onSuccess(CognitoUserSession userSession, CognitoDevice newDevice) { usefulfunction(); }
@Override
public void getAuthenticationDetails(AuthenticationContinuation authenticationContinuation, String userId) {
// The API needs user sign-in credentials to continue
AuthenticationDetails authenticationDetails = new AuthenticationDetails(userId, password, null);
// Pass the user sign-in credentials to the continuation
authenticationContinuation.setAuthenticationDetails(authenticationDetails);
// Allow the sign-in to continue
authenticationContinuation.continueTask();
}
@Override
public void onFailure(Exception exception) { showError(exception) }
@Override
public void getMFACode(MultiFactorAuthenticationContinuation continuation) {//empty}
@Override
public void authenticationChallenge(ChallengeContinuation continuation) {//empty}
}当getSessionInBackground运行时,它调用getAuthenticationDetails,然后调用onSuccess,然后调用onFailure,并显示以下错误:
由于内部错误,"com.amazonaws.mobileconnectors.cognitoidentityprovider.exceptions.CognitoInternalErrorException:身份验证失败:在身份验证流的开始处未遇到PASSWORD_VERIFIER质询“
如果删除signOut调用,则代码可以正常工作。
所以我的问题是,为什么?另一个问题,如何强制AWS请求密码?
发布于 2019-02-28 01:30:20
您最近是否更新到AWS客户端v2.12.1?
我得到了这个错误,作为一个解决办法,如果你降级到v2.12.0,这个问题就不会再发生了。
https://stackoverflow.com/questions/54891435
复制相似问题