将声明从外部提供程序转发到认知标识



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

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

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

但是,我发现 AWS 凭证受到限制,因为令牌不包含原始登录令牌中的任何声明。有没有办法让他们进入那里?

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

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

我做的解决方法是:

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

最新更新