Tob*_*and 6 adfs user-management saml openid-connect amazon-cognito
应用程序通过 Open ID Connect 协议与AWS Cognito 进行通信,AWS Cognito连接到ADFS,通过 SAML 进行通信。Cognito 本质上是“代理”ADFS 服务器。
ADFS 拥有应用程序所需的组映射,我想将这些组作为实际的 Cognito 组导入 Cognito - 然后应用程序将从cognito:groupsCognito 提供的 ID 令牌中读取该组。
在 AWS Cognito 用户池设置中,我没有看到将 ADFS 组映射到 Cognito 组的方法——我必须绝对依赖我的用户池的自定义属性,我可以映射到 ADFS 属性,还是我错过了一些允许 Cognito 动态创建新组并自动将用户分配到 Cognito 中的组的配置?
编辑:澄清一下,是否可以设置 Cognito 在导入用户时添加/创建组(不是作为自定义属性,而是实际可管理的认知组)?
我遇到了同样的问题,而且我也没有在 Cognito 中找到静态映射选项。
我看到的唯一方法是将 AD 组映射到 Cognito 中的 custom:adgroups 属性,并设置 Cognito“预令牌生成”lambda 触发器。lambda 读取 custom:adgroups 的值并手动覆盖用户的 Cognito 组。
注意 - 这不会永久更改认知用户的组,仅适用于当前会话,但从应用程序的角度来看,这正是我所需要的。
请在此处查看虚拟静态(无条件)ADMIN 组分配示例:
def lambda_handler(event, context):
print(f'incoming event: {json.dumps(event)}')
# manual cognito group override
if event['triggerSource'] == "TokenGeneration_HostedAuth":
event['response'] = {
"claimsOverrideDetails": {
"groupOverrideDetails": {
"groupsToOverride": [
"ADMIN"
]
}
}
}
return event
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2794 次 |
| 最近记录: |