如何从另一个IDP将用户添加为成员?

时间:2019-05-31 01:19:28

标签: azure-ad-b2c azure-ad-graph-api

我们有一个带有身份提供程序设置的ADB2C租户,可以通过Open ID Connect在另一个组织中的Okta设置。

我们有一个管理界面来添加用户。我看到GraphAPI有一个createUser,它使用带有Password和changePwdOnFirstUse设置的json。将直接成员添加到ADB2C很好。

我的问题是,如何从其他Okta添加用户  组织,以便当该用户登录到我的应用程序(并由Okta验证)时,可以登录到我的应用程序。

目前,从Okta进行身份验证后,我们看到“用户未找到错误”。

我想,我无法使用相同的createUser方法通过Graph API添加此用户,因为我们不应该管理该用户密码。

如何将另一个组织用户添加到ADB2C,这样就不会看到此“找不到用户”问题?

谢谢。

1 个答案:

答案 0 :(得分:0)

使用Azure AD Graph API,您可以create an external account user,将 user 对象的 userIdentities 属性设置为 sub (根据)Okta的ID令牌声明:

{
  "accountEnabled": false,
  "displayName": "John Smith",
  "mailNickname": "john.smith",
  "otherMails": [
    "john.smith@company.com"
  ],
  "userIdentities": [
    {
      "issuer": "{okta-id-token-iss-claim-value}",
      "issuerUserId": "{okta-id-token-sub-claim-value}"
    }
  ],
  "userPrincipalName": "{guid}@{your-tenant-name}.onmicrosoft.com"
}

其中 sub 要求Okta的ID令牌必须将 issuerUserId 设置为base64编码。