【问题标题】:Azure AD B2C Creating a Social Account Using Graph API Create UserAzure AD B2C 使用 Graph API 创建社交帐户 创建用户
【发布时间】:2021-02-17 09:39:26
【问题描述】:

我正在尝试在我的 B2C 租户上为 Microsoft 登录创建用户社交帐户,而不使用注册用户流。当运行注册用户流程并注册 Microsoft 帐户时,将在租户中创建一个用户,其来源为“Microsoft 帐户”。

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

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

不是确切的值,而是我正在使用的有效负载示例:

{
  "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-graph-api azure-ad-b2c


【解决方案1】:

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

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

虽然用户记录是在运行发布请求时在 B2C 中创建的,但它只是您提到的一条记录。

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

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-08-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多