使用CUSTOM_AUTH模式调用AdminInitiateAuth时如何获取SRP_A值?
AWS Cognito CUSTOM_AUTH模式带密码验证配置
- 已将AWS Cognito配置为
CUSTOM_AUTH模式,且已在设置中关联Lambda挑战函数 - 启动带密码验证的自定义认证时,需通过
AdminInitiateAuth指定相关参数:- 文档中提及的
ChallengeName: SRP_A写法会触发错误,正确参数应为CHALLENGE_NAME: 'SRP_A' - 同时需传入
SRP_A计算值、USERNAME、SECRET_HASH等参数
- 文档中提及的
正确代码示例(使用@aws-sdk/client-cognito-identity-provider库)
const command = new AdminInitiateAuthCommand({ AuthFlow: 'CUSTOM_AUTH', AuthParameters: { USERNAME: username, CHALLENGE_NAME: 'SRP_A', SRP_A: '{SRP_A value}', SECRET_HASH: secretHash, }, ClientId: clientId, UserPoolId: poolId, });
补充说明:若将
AuthFlow改为ADMIN_NO_SRP_AUTH并在参数中加入PASSWORD,认证可成功完成,但需求为使用CUSTOM_AUTH模式。
内容的提问来源于stack exchange,提问作者jove0610
相关产品推荐
相关产品推荐

