Azure AD B2C使用Graph API创建用户创建社交帐户



我正试图在不使用注册用户流的情况下,为我的B2C租户上的Microsoft登录创建用户社交帐户。当运行注册用户流并注册Microsoft帐户时,在租户中创建了一个源为"的用户;Microsoft帐户";。

我一直在尝试使用Microsoft Graph API创建用户帖子请求,在其中我可以创建一个工作的本地帐户罚款,但使用下面链接中的示例创建一个使用B2C登录的Microsoft用户时遇到问题。我认为我创建的Microsoft帐户没有有效的issuerAssignedId,而且我实际上并没有试图迁移现有帐户。当发布请求运行时,用户记录是在B2C中创建的,但当我尝试使用microsoft帐户登录时,它会返回AADB2C99002:用户不存在。

https://learn.microsoft.com/en-us/graph/api/user-post-users?view=graph-rest-1.0&tabs=http#示例

不是确切的值,但我使用的有效载荷示例:

{
"displayName": "Test Name",
"identities": [
{
"signInType": "emailAddress",
"issuer": "mytenant.onmicrosoft.com",
"issuerAssignedId": "test@outlook.com"
},
{
"signInType": "federated",
"issuer": "live.com",
"issuerAssignedId": "test@outlook.com"
}
],
"passwordProfile" : {
"password": "password-value",
"forceChangePasswordNextSignIn": false
},
"passwordPolicies": "DisablePasswordExpiration"
}

我有办法做到这一点吗?谢谢

我认为我没有Microsoft的有效issuerAssignedId我正在创建的帐户,实际上我并没有尝试迁移现有帐户。

您不能使用Microsoft Graph API创建不存在的MSA。

尽管用户记录是在运行发布请求时在B2C中创建的,但正如您所提到的,它只是一个记录。

真实身份验证过程由MSA而非B2C完成。

因此AADB2C99002: User does not exist是这种情况下的预期行为。

您可以在调用此Microsoft图形端点时设置不存在的MSA,但它不会在MSA IDP端创建MSA。所以你不能用它登录。

最佳做法是提前创建MSA并将其用于此Graph调用。

最新更新