首页 > 解决方案 > 提供身份验证代码时收到来自 AWS Cognito 的无效授权类型错误:如何获取 Id 和访问令牌以进行测试?

问题描述

当我提供身份验证代码时,我无法从我的 AWS cognito 用户池中成功获取 id 令牌/访问令牌。我编写了一个 shell 脚本(见下文),并invalid_grant从服务器接收回。

client_id:client_secret我已将使用 python 生成的 base64 Authorization Basic 标头编码为:

import base64

encode='my_client_id_string:my_client_secret_string'
base64.b64encode(encode)
#!/usr/bin/env sh

curl --location --request POST 'https://<domain>.auth.us-east-2.amazoncognito.com/oauth2/token' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--header 'Authorization: Basic <base64 encode string client_id:client_secret>' \
--data-urlencode 'grant_type=authorization_code' \
--data-urlencode 'client_id=<client_id from app settings' \
--data-urlencode 'code=<code received from redirect url to my localhost app endpoint>' \
--data-urlencode 'redirect_uri=http://localhost:8000/my_redirect'

有任何想法吗?

标签: amazon-web-servicesamazon-cognito

解决方案


解决了!

该问题是由无效的客户端 ID 引起的。我为客户 ID 值提供了一个错字!


推荐阅读