没有密码的AWS Cognito用户池

晶石

我想使用电话号码作为我的应用程序的用户名,并且希望每次登录时都只需验证电话号码即可简化注册过程-无需记住任何麻烦的密码。

如何使用AWS Cognito用户池来执行此操作,要求我为每个用户强制配置密码。

我想到了为每个用户使用虚拟密码并配置强制用户验证。每次用户注销时,我都可以“取消验证”用户,以便下次自动要求他们验证电话号码。另外,如果用户通过验证,我会将我的应用程序连接为仅“登录”。

请让我知道最好的方法是否是:(我是AWS新手,在这种情况下我找不到任何帖子。

谢谢 !!

鞍山:

由于AWS Cognito当前不支持无密码身份验证,因此您需要使用外部存储的随机密码实施变通方法。您可以按以下方式实施身份验证流程。

  • 用户注册后(也要求输入手机号并强制输入),然后将手机号,用户名和密码也存储在使用AWS KMS加密的Dynamodb中(以提高安全性)。
  • 您可以将MFA与手机号码一起使用以进行身份​​验证质询,以便在用户输入手机号码并按Login(在前端)之后,在后端,您可以自动进行用户名密码匹配(Passthrough)并触发MFA为用户的手机发送代码并使用AWS Cognito SDK进行验证(不实施自定义移动消息和质询)。
  • 如果您计划手动实施流程(不使用MFA)发送SMS和验证,则可以使用AWS SNS来实现。

检查以下代码示例以了解MFA的见解,并参考此链接以获取更多详细信息。

    var userData = { 
        Username : 'username',
        Pool : userPool
    };

    cognitoUser = new AWSCognito.CognitoIdentityServiceProvider.CognitoUser(userData);

    var authenticationData = {
        Username : 'username',
        Password : 'password',
    };

    var authenticationDetails = new AWSCognito.CognitoIdentityServiceProvider.AuthenticationDetails(authenticationData);

    cognitoUser.authenticateUser(authenticationDetails, {
        onSuccess: function (result) {
            alert('authentication successful!')
        },

        onFailure: function(err) {
            alert(err);
        },

        mfaRequired: function(codeDeliveryDetails) {
            var verificationCode = prompt('Please input verification code' ,'');
            cognitoUser.sendMFACode(verificationCode, this);
        }

    });

注意:此处,带有手机号码的MFA并非用于MFA,而是一种满足您要求的解决方法。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

AWS Cognito用户池,自定义消息Lambda

AWS Cognito用户池如何防御暴力破解攻击

使用Postman使用Cognito用户池用户签署AWS请求

限制AWS Cognito用户池的请求来源javascript API

对租户使用多个AWS Cognito用户池

将Facebook登录名与AWS Cognito用户池集成

AWS Cognito用户池和OpenId

在使用AWS Cognito用户池注册期间验证请求的密码

AWS-Cognito:创建用户池后是否可以编辑用户池名称?

使用Amplify将现有的AWS Cognito用户池集成到iOS项目中

AWS Cognito用户池登录缺少身份验证令牌

多租户Web应用上的AWS Cognito用户池

AWS Cognito角色:区分联合身份池角色和用户池组角色

列出AWS Lambda上的Cognito用户池用户

更新Cognito用户池/ AWS资源

如何为属于多个用户池组的AWS Cognito用户切换IAM角色?

使用Cognito用户池ID在AWS上调用graphql API

使用CDK添加AWS Cognito用户池角色

通过HTTPS调用使用用户名和密码的AWS Cognito用户池InitiateAuth的示例代码?

iOS(Swift)应用中的AWS Cognito用户池

为 AWS Cognito 用户池 API 计算 SecretHash

如何使用 PHP SDK 登录 AWS Cognito 用户池

与cognito用户池集成后如何访问AWS API

针对不同用户池的 AWS Cognito 刷新令牌也会返回有效令牌

没有密码的 AWS Cognito 和 adminCreateUser

从 serverless.yml 创建 AWS Cognito 用户池

AWS Cognito Identity 用户 ID 或用户池用户 ID?使用哪个?

在 aws cognito 中从用户池导出用户

AWS Cognito 用户池的 EmailConfiguration