我正在尝试使用Amazon Cognito身份验证构建Android应用程序,但不希望使用默认的AuthUI登录用户 .
但是,我找不到任何关于如何做到的参考,样本,示例和博客 .
我试着按照这里的手册进行操作https://docs.aws.amazon.com/aws-mobile/latest/developerguide/tutorial-android-aws-mobile-notes-auth.html
我能够使用默认的AuthUI成功登录 .
现在,要使用用户名,密码登录,我从这个引用中创建了一个这样的Authentication Handler - https://aws.amazon.com/blogs/mobile/using-android-sdk-with-amazon-cognito-your-user-pools/
AuthenticationHandler handler = new AuthenticationHandler() {
@Override
public void onSuccess(CognitoUserSession userSession, CognitoDevice newDevice) {
}
@Override
public void getAuthenticationDetails(AuthenticationContinuation authenticationContinuation, String userId) {
AuthenticationDetails authenticationDetails = new AuthenticationDetails(mEmailEditText.getText().toString(), mPasswordEditText.getText().toString(), null);
authenticationContinuation.setAuthenticationDetails(authenticationDetails);
authenticationContinuation.continueTask();
}
@Override
public void getMFACode(MultiFactorAuthenticationContinuation continuation) {
}
@Override
public void authenticationChallenge(ChallengeContinuation continuation) {
}
@Override
public void onFailure(Exception exception) {
}
};
那么,现在如何调用此处理程序来获取Cognito用户会话和详细信息
任何人都可以分享适当的指示来完成这项工作或任何其他方式可以做到这一点?
1 回答
您需要先初始化
CognitoUser
对象并调用getSessionInBackground()
检查下面的代码,调用
login()
以用户名,密码登录 . 并确保build.gradle
导入所需的AWS库: