gee*_*mer 9 amazon-web-services amazon-cognito aws-api-gateway aws-cognito
我'使用Cognito用户池来保护我的API网关.现在我想使用邮递员向我的API发出请求,但我需要传递授权令牌,因为API是安全的.是否有AWS CLI命令或REST API来生成身份验证令牌(通过传递用户名/密码)?我搜索过文档,但找不到任何示例.谢谢你的帮助.
she*_*nku 11
您可以使用以下CLI命令执行此操作:
注册用户
aws cognito-idp sign-up --region {your-aws-region} --client-id {your-client-id} --username admin@example.com --password password123
确认用户注册
aws cognito-idp admin-confirm-sign-up --region {your-aws-region} --user-pool-id {your-user-pool-id} --username admin@example.com
认证(获得令牌)
aws cognito-idp admin-initiate-auth --region {your-aws-region} --cli-input-json file://auth.json
auth.json的位置是:
{
"UserPoolId": "{your-user-pool-id}",
"ClientId": "{your-client-id}",
"AuthFlow": "ADMIN_NO_SRP_AUTH",
"AuthParameters": {
"USERNAME": "admin@example.com",
"PASSWORD": "password123"
}
}
Run Code Online (Sandbox Code Playgroud)
如果一切设置正确,您应该得到这样的响应:
{
"AuthenticationResult": {
"ExpiresIn": 3600,
"IdToken": "{your-idtoken}",
"RefreshToken": "{your-refresh-token}",
"TokenType": "Bearer",
"AccessToken": "{your-access-token}"
},
"ChallengeParameters": {}
}
Run Code Online (Sandbox Code Playgroud)
使用以下命令生成身份验证令牌,根据您的 cognito 配置适当填写 xxxx,
aws cognito-idp 启动身份验证 --auth-flow USER_PASSWORD_AUTH --client-id xxxx --auth-parameters USERNAME=xx@xx.com,PASSWORD=xxxx
注意:您可以使用适用的认知用户池下的任何一个用户名或密码。客户端可以在常规设置-->应用客户端下找到
AccessKeyId 和 SecretAccessKey 不是必需的,因为它们已在设置 aws cli 时定义。如果未完成,请先使用以下链接进行设置 https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-configure.html
| 归档时间: |
|
| 查看次数: |
4645 次 |
| 最近记录: |