代码之家  ›  专栏  ›  技术社区  ›  Vico

AWS放大Auth/Cognito说话太多?

  •  0
  • Vico  · 技术社区  · 5 年前

    Cognito Javascript SDK ,当我发送的用户名是否存在时,我有点惊讶地收到警告:

    下面是我使用的代码:

    login(username, password) {
        const authenticationData = {
          Username : username,
          Password : password,
        };
    
        const authenticationDetails = new AuthenticationDetails(authenticationData);
    
        const userPool = new CognitoUserPool(this.poolData);
        const userData = {
          Username : username,
          Pool : userPool,
        };
    
        this.cognitoUser = new CognitoUser(userData);
        this.cognitoUser.authenticateUser(authenticationDetails, {
          onSuccess: function (result) {
            console.log(result);
          },
          newPasswordRequired: function(...) {
    
          },
          onFailure: function(err) {
            console.log(err);
          },
        });
      }
    

    如果我设置 username mytest (现有用户)使用错误的密码,我得到以下错误:

    “NotAuthorizedException”

    没关系。但如果我准备好了 test12345 (不存在用户),我得到以下错误:

    用户不存在。

    我认为告诉最终用户用户名是否存在是不安全的。

    我错了吗?是不是我做错了什么?

    我只想有第一个例外通知最终用户登录失败。

    0 回复  |  直到 5 年前
        1
  •  0
  •   kulfoniasty    5 年前

    防止用户存在错误 (常规设置->应用程序客户端)。看到了吗 https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pool-managing-errors.html