首页 > 解决方案 > 使用 AWS Amplify 时如何从 AWS Cognito 和 OIDC 获取自定义属性?

问题描述

我们正在使用 AWS Amplify 开发一个网站,该网站使用 Cognito 来处理身份验证。我已将 Cognito 中的用户池配置为使用 Keycloak 作为 OIDC IDP。登录和注销的基本功能都按预期工作。

我现在想从 Keycloak 将更多信息返回到 Amplify 应用程序中。如果我使用https://openidconnect.net/作为对 Keycloak 进行身份验证的测试点,就好像它是 Cognito 一样,我可以在https://jwt.io中解码 JWT并查看我想要的其他信息。

在 Cognito 中,在 General Settings > Attributes 中,我添加了一个自定义属性“groups”:

自定义属性截图

在常规设置 > 应用程序客户端中,我将该属性标记为可读:

应用属性截图

在联合 > 属性映射下,我已将 OIDC 属性映射到用户池属性:

联邦属性映射

但是,当我在 Web 应用程序中进行身份验证并转储 ID 和访问令牌的有效负载时,我看不到“custom:groups”属性。

我在这里遗漏或误解了什么?

谢谢。

标签: amazon-cognitoaws-amplify

解决方案


推荐阅读