[英]How do I obtain an Access Token from an Unauthenticated Cognito Identity
[英]Identify unauthenticated Cognito Identity ID from request
我有一个 AWS API,其访问权限由与 Cognito Identity 池的未经身份验证角色关联的IAM 授权方控制。 成功调用 API 会调用 Lambda function。
目前的流程是:
IdentityId
例如eu-west-2:XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX
。 这是我在 Lambda function 中需要的信息 - 见下文。AccessKeyId
、 SecretKey
和SessionToken
X-Amz-Security-Token
,从步骤1获得event.headers
包括X-Amz-Security-Token
Lambda eu-west-2:XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX
是否有可能从请求的 header 中可用的数据或任何其他方法。
我尝试过的事情:
Invoke with caller credentials
在 API 网关中勾选SessionToken
,虽然这似乎只是一个临时访问令牌,而不是包含任何有用的数据,如 JWT。如果绝对必要,我可以在每个请求中包含用户的身份 ID,但我希望尽可能避免这种情况。
用户的 Cognito ID 包含在传递给您的 Lambda function 的event
object 的requestContext
属性中。
例如,访问 API 的 Cognito 用户的身份是:
event['requestContext']['identity']['cognitoIdentityId'];
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.