cla*_*ioz 12 passwords shell amazon-web-services aws-cognito
我正在开发一个使用AWS服务后端的Web应用程序.我正在使用AWS Cognito来管理用户,但我遇到了问题.当我创建一个新用户(使用临时密码)时,我需要手动更改此密码以使其确定.我必须更改密码的唯一方法是使用AWS Cli,如下所述:
https://docs.aws.amazon.com/cli/latest/reference/cognito-idp/change-password.html
我必须在shell中键入旧密码,新密码和访问令牌.问题是:我在哪里找到这个"访问令牌"?我不知道在shell中输入什么!AWS Cognito控制台无济于事.
Esb*_*ald 12
将aws cognito-idp change-password
只能与谁能够登录,因为你需要从访问令牌用户使用aws cognito-idp admin-initiate-auth
.
但由于用户拥有临时密码,因此NEW_PASSWORD_REQUIRED
在尝试登录时将面临挑战.
我是这样做的:
$ aws cognito-idp admin-create-user --user-pool-id USERPOOLID --username me@example.com --desired-delivery-mediums EMAIL --user-attributes Name=email,Value=me@example.com
$ aws cognito-idp initiate-auth --client-id CLIENTID --auth-flow USER_PASSWORD_AUTH --auth-parameters USERNAME=me@example.com.me,PASSWORD="tempPassword"
Run Code Online (Sandbox Code Playgroud)
现在您获得了一个NEW_PASSWORD_REQUIRED
挑战和一个非常长的会话令牌.使用那个来应对挑战:
$ aws cognito-idp admin-respond-to-auth-challenge --user-pool-id USERPOOLID --client-id CLIENTID --challenge-responses "NEW_PASSWORD=LaLaLaLa1234!!!!,USERNAME=me@example.com" --challenge-name NEW_PASSWORD_REQUIRED --session "YourLongSessionToken"
Run Code Online (Sandbox Code Playgroud)
Het*_*mei 10
要更改用户密码:
有了这个 aws cli:
$ aws --version
aws-cli/1.17.9 Python/3.6.10 Linux/5.3.0-26-generic botocore/1.14.9
Run Code Online (Sandbox Code Playgroud)
你可以这样做:
aws cognito-idp admin-set-user-password --user-pool-id "eu-west-11111" --username "aaaaaa-aaaa-aaaa-aaaa" --password "a new password" --permanent
Run Code Online (Sandbox Code Playgroud)
要获得更多信息:
aws cognito-idp admin-set-user-password help
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
9474 次 |
最近记录: |