将外部提供商的声明转发给Cognito身份

时间:2019-01-12 16:32:30

标签: amazon-web-services aws-sdk amazon-cognito

我有一个应用程序和openid身份服务器。我的应用程序从身份服务器检索令牌。

我还已将身份服务器配置为AWS Cognito身份池的外部提供程序。

我可以为登录到我的应用程序的用户成功检索AWS凭证。

但是,我发现AWS凭证受到限制,因为该令牌不包含原始登录令牌的任何声明。有什么办法可以把他们带到那里吗?

我使用的一个声明是clientID,我希望能够在IAM策略中使用它来限制客户端对S3的访问。

1 个答案:

答案 0 :(得分:0)

我还没有找到直接的解决方案,这似乎缺少功能。

我所做的解决方法是:

  1. 将id_token / access_token / refresh_token映射到自定义认知功能。由于所有映射的属性以后都可以在前端使用,因此您需要限制敏感属性的读取权限。
  2. 使用TokenGeneration_HostedAuth lambda触发器处理此数据。