我不确定这个问题是否足以描述我要完成的任务,所以让我尝试详细说明一下。因为即使我不确定如何正确设置问题。因此,我将详细介绍我要做的事情。
我正在构建一个使用AWS Cognito进行用户身份验证和授权的应用程序。但是授权部分不是通过Cognito直接完成的(稍后会详细介绍)
在Cognito中,我通过OIDC作为第三方身份提供程序Azure AD添加了。我也有后端服务,它将在其自己的数据库中保留用户的角色。现在,对于要通过AD添加到用户池中的用户,我需要在AD中复制其组,作为我的服务数据库中的角色。 (因此,如果我在AD中有一个用户是ADMIN组的一部分,我需要获取该组并将其作为特定用户的角色放在自己的db中)。
现在的想法是使用MS Graph来同步服务中具有角色的组。但是关键是,那么我将需要具有在AD中查看该信息的权限的AD用户的凭据。这不是我真正想要实现的目标。
我的猜测是,可以在所有情况下一次性完成(这将需要AD凭据中的“ GODs”用户,这不是一个选择),或者一个接一个地完成(因为他们以Idp的身份通过AD登录到Cognito )。
因此,总而言之,我的问题是,当用户使用其广告(microsoft)凭据登录时,是否可以将对MS Graph的调用集成到其中,以一种方式,当他尝试登录时可以获取有关其组的信息Cognito用户池?
我知道这可能还不太清楚,但是我不太确定如何以一种简单的方式来说明。
如果有人可以帮助我,我将不胜感激。
谢谢
答案 0 :(得分:0)
您不需要将调用集成到MS Graph。
只需按照here的说明在您的令牌中包含网上论坛索赔。您只需要修改应用程序清单中的“ groupMembershipClaims”字段:
"groupMembershipClaims": "SecurityGroup"
然后令牌将包含使用所属的组的ID,如下所示:
{
"groups": ["{group id}"]
}