在这种情况下,我的Relying Party
(RP)不仅希望获取有关用户的信息,还需要将用户映射到RP的内部用户。因此,我想将Identity Provider
(IdP)的现有用户映射到RP中的用户/组。我怎样才能通过OpenID Connect实现这一点(IdP和RP之间存在信任关系;两者都由我控制)?
有什么其他方法可以解决这个问题?
答案 0 :(得分:3)
我在这里看到两种方法;一个来自OpenID Connect的观点,另一个来自用户目录处理。
Id令牌声明
OpenID Connect规范定义了standard claims in an id token,并且可以自由地定义我们自己的声明。例如,如果RP
无法依赖sub
声明标识并映射最终用户,则可以引入除standard claims以外的自定义声明。
ID令牌可能包含其他声明。任何未被理解的声明都必须被忽略
例如,您可以在ID令牌中定义声明rp_identifier
,为您提供RP用户ID。
这需要对您的IDP进行一些配置,并在IDP存储中存储所需的标识符。
目录同步
不确定您的用户目录是如何设置的。但是,如果您使用的是外部IDP,则可能需要同步内部和外部用户目录。我不是此域中的专家,但供您参考this文章介绍了Azure Active Directory同步。
虽然用户同步超出了OpenID Connect的范围,但许多转向OpenID Connect的人必须将内部用户映射到IDP提供的用户。