我已经尝试了好几天,希望有人能帮助我。我正在构建一个Android应用程序,并集成Amazon Cognito登录。我想使用管理面板在Amazon Cognito中创建管理员用户。这样做时,一个要求是用户更改密码。在CognitoUserPoolSignInProvider中,这是一个匿名类,为了使用新密码对用户进行身份验证,我在anonymous类中使用了以下代码:
@Override
public void authenticationChallenge(final ChallengeContinuation continuation) {
if ("NEW_PASSWORD_REQUIRED".equals(continuation.getChallengeName())) {
NewPasswordContinuation newPasswordContinuation = (NewPasswordContinuation) continuation;
newPasswordContinuation.setPassword("users new password goes here");
continuation.continueTask();
}
}
我有一个单独的Activity类ChangePassword
,它链接到一个用户界面,并在编辑文本框中获取用户的输入。
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_change_password);
password = (EditText) findViewById(R.id.newPassword);
submit = (Button) findViewById(R.id.submit);
String pass = password.getText().toString();
如何让用户输入到匿名类中来设置新密码?如有任何帮助,我们将不胜感激
1条答案
按热度按时间hrirmatl1#
您需要使用按钮单击回调来获取用户密码。由于您的代码现在已经编写完成,密码将被设置为空字符串(或者创建时EditText字段中的任何内容)。
从这个开始:
设置按钮点击动作后,创建一个类示例来覆盖authenticationChallenge方法,然后将该类传递给相应的AWS类进行身份验证,如下所示: