繁体   English   中英

通过图形 API 更新联合用户的 adb2c UserPrincipalName

[英]Updating federated user's adb2c UserPrincipalName via Graph API

我们允许外部 Azure AD 用户通过自定义策略注册和登录我们的应用程序。 这会在我们的 azure 广告组织中创建一个 shell 用户,我们使用用户配置文件下的用户电子邮件地址,而不是来自外部 AD 的用户 UPN。 如果用户的电子邮件地址与其 UPN 不同,我们 adb2c 组织中的 shell 用户将使用电子邮件地址作为 UPN。 我们自定义了自定义策略以返回来自外部 AD 的用户属性以及来自 adb2c 中 shell 用户的用户属性。 我们的应用程序将检测姓名或电子邮件地址是否发生更改,并将通过 Microsoft Graph 更新 adb2c shell 用户。

当用户的电子邮件地址发生变化时,我想更新我们 adb2c 组织中的 shell 用户。 由于电子邮件地址用作 UPN,我如何通过 Graph API 在我们的 adb2c shell 用户中更新我的联合用户 userPrincipalName?

var identities = graphUser.Identities.Select(o => new ObjectIdentity
                {
                    SignInType = o.SignInType,
                    Issuer = o.Issuer,
                    IssuerAssignedId = o.IssuerAssignedId,
                    ODataType = o.ODataType,
                    AdditionalData = o.AdditionalData
                }).ToList();

                var federatedIdentity = identities.FirstOrDefault(i => i.SignInType == "federated");

这两个都行不通:

federatedIdentity.IssuerAssignedId = "mynameuser@federatedAAD.org";

或者

 var updatedUser = new User
                {
                    //other user attributes here
                    UserPrincipalName = "mynameuser@federatedAAD.org";
                };

await _graphServiceClient.Users[idpId]
                    .Request()
                    .UpdateAsync(updatedUser);

提前致谢!

• 您可以使用以下命令通过 HTTP 响应接口使用 Microsoft 图形 API 更新 Azure AD B2C 中的外部用户标识或外壳用户标识:-

 ‘ PATCH https://graph.microsoft.com/v1.0/users/{object id}

    {"userPrincipalName":"jdoe@abc.com"} ‘

输入已创建的 Azure AD B2C shell 用户或登录到 Azure AD B2C 的联合用户的用户主体名称,而不是“jdoe@abc.com”。 由于用户第一次登录使用创建的应用程序时已经创建了用户身份,因此只需要更新现有的用户主体名称,就可以通过上述命令来完成。

• 此外,Microsoft Graph 似乎不允许在为 Azure B2C 创建用户时设置 userPrincipalName。 它将生成 userPrincipalName 作为 {object id}@abc.com。 然后你可以更新 userPrincipalName。 因此,用于创建或更新 shell 用户 UPN 的第二个命令脚本不起作用。 并确保将联合域添加为 Azure AD B2C 中的已验证域,以使上述命令和选项成功。

请参考以下链接了解更多信息:-

使用 Graph 在 Azure B2C 中预创建联合用户

https://docs.microsoft.com/en-us/graph/api/user-update?view=graph-rest-1.0&tabs=http

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM