【问题标题】:Check if a user already exists with AWS Amplify Android?使用 AWS Amplify Android 检查用户是否已存在?
【发布时间】:2021-02-10 17:05:02
【问题描述】:

有没有办法在尝试注册之前检查用户是否存在? 当我尝试注册现有用户名时,会导致错误。 这是我正在使用的当前方法,但它不起作用。

private View.OnClickListener registerClickListener = new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        cognitoUser = userPool.getUser(Username.getText().toString());
        if (cognitoUser.getUserId().isEmpty()) {
            Amplify.Auth.signUp(
                Username.getText().toString(),
                Password.getText().toString(),
                AuthSignUpOptions.builder()
                    .userAttribute(AuthUserAttributeKey.email(), Email.getText().toString())
                    .build(),
                result -> Log.i("AuthQuickStart", "Result: " + result.toString()),
                error -> Log.e("AuthQuickStart", "Sign up failed", error)
            );
        } else {
            Toast.makeText(getApplicationContext(), "Username is taken", Toast.LENGTH_SHORT)
                .show();
            Username.requestFocus();
        }
    }
};

【问题讨论】:

    标签: android amazon-web-services amazon-cognito aws-amplify


    【解决方案1】:

    为了能够使用GetUser API 调用,您需要一个有效的AccessToken。为此,您已经需要进行身份验证。所以你不能这样用。

    此外,Cognito 目前不提供检查用户是否已存在的简单方法。

    因此,您唯一的选择是依赖注册操作引发的异常。

    【讨论】:

      猜你喜欢
      • 2018-07-21
      • 2017-04-08
      • 1970-01-01
      • 1970-01-01
      • 2021-08-28
      • 2015-05-05
      • 2013-04-29
      • 2021-02-11
      • 1970-01-01
      相关资源
      最近更新 更多