AWS Cognito - 包含 OTP 过期时间戳
创始人
2024-11-15 03:30:52
0

要为AWS Cognito添加OTP过期时间戳,您可以使用AWS SDK for JavaScript来创建自定义的验证器。以下是一个示例代码,展示了如何在Cognito中实现此功能:

const AmazonCognitoIdentity = require('amazon-cognito-identity-js');
const AWS = require('aws-sdk');

const poolData = {
  UserPoolId: 'YOUR_USER_POOL_ID',
  ClientId: 'YOUR_APP_CLIENT_ID'
};

const userPool = new AmazonCognitoIdentity.CognitoUserPool(poolData);

const userData = {
  Username: 'USERNAME',
  Pool: userPool
};

const authenticationData = {
  Username: 'USERNAME',
  Password: 'PASSWORD'
};

const authenticationDetails = new AmazonCognitoIdentity.AuthenticationDetails(authenticationData);

const cognitoUser = new AmazonCognitoIdentity.CognitoUser(userData);

cognitoUser.authenticateUser(authenticationDetails, {
  onSuccess: function(result) {
    // 验证成功后,获取ID令牌和访问令牌
    const idToken = result.getIdToken().getJwtToken();
    const accessToken = result.getAccessToken().getJwtToken();

    // 使用ID令牌和访问令牌调用AWS Cognito API
    const cognitoIdentityServiceProvider = new AWS.CognitoIdentityServiceProvider();
    const params = {
      AccessToken: accessToken
    };

    cognitoIdentityServiceProvider.getUser(params, function(err, data) {
      if (err) {
        console.error(err);
      } else {
        // 获取用户属性,包括OTP过期时间戳
        const otpExpiration = data.UserAttributes.find(attr => attr.Name === 'custom:otpExpiration').Value;
        console.log('OTP过期时间戳:', otpExpiration);
      }
    });
  },
  onFailure: function(err) {
    console.error(err);
  }
});

请注意,上述示例假设您已经安装了amazon-cognito-identity-jsaws-sdknpm包,并将用户池ID,应用程序客户端ID,用户名和密码替换为自己的值。

此外,您需要确保在AWS Cognito用户池设置中已经创建了一个自定义用户属性以存储OTP过期时间戳。在示例代码中,我们假设您已经创建了一个名为custom:otpExpiration的自定义属性。

以上代码将通过验证用户的用户名和密码来获取ID令牌和访问令牌,然后使用这些令牌调用getUser API来获取用户的属性,其中包括OTP过期时间戳。您可以根据自己的需求进行修改和扩展此示例。

相关内容

热门资讯

第3分钟辅助!hh poker... 第3分钟辅助!hh poker透视器下载,德普之星透视,技法教程(有挂功能)在进入hh poker透...
第1分钟辅助!wepoker数... 第1分钟辅助!wepoker数据分析,we-poker有人玩吗,法门教程(有挂助手)1、we-pok...
第一分钟辅助!wepoker破... 第一分钟辅助!wepoker破解器,菠萝辅助器免费版的特点,经验教程(有挂规律)1、玩家可以在菠萝辅...
5分钟辅助!约局吧德州真的有透... 5分钟辅助!约局吧德州真的有透视挂吗,we-poker软件,妙计教程(今日头条)约局吧德州真的有透视...
第九分钟辅助!wpk插件,hh... 第九分钟辅助!wpk插件,hh poker辅助有用吗,资料教程(确实有挂)1、首先打开hh poke...
第三分钟辅助!wepoker透... 第三分钟辅助!wepoker透视脚本苹果版,pokemmo辅助器,教程书教程(确实有挂)1、完成we...
第三分钟辅助!哈糖大菠萝能开挂... 第三分钟辅助!哈糖大菠萝能开挂吗,aapoker脚本,法门教程(有人有挂)1、超多福利:超高返利,海...
两分钟辅助!wepoker游戏... 两分钟辅助!wepoker游戏的安装教程,wepoker透视苹果系统,法子教程(确实有挂)1、这是跨...
七分钟辅助!德扑之心免费透视,... 七分钟辅助!德扑之心免费透视,wepoker私人辅助器,方案教程(有挂教学)1、德扑之心免费透视免费...
三分钟辅助!hhpoker可以... 三分钟辅助!hhpoker可以开挂吗,wepoker私人局透视教程,操作教程(有挂讲解)1、wepo...