在Azure AD B2C中使用资源所有者密码凭据的用户名而不是电子邮件地址

时间:2019-02-05 01:34:00

标签: azure azure-active-directory azure-ad-b2c

我想知道是否可以在Azure AD B2C的资源所有者密码凭据中使用john.smith之类的用户名代替john.smith@myfirm.com

https://docs.microsoft.com/en-gb/azure/active-directory-b2c/configure-ropc

例如如下所示:

https://mytenant.b2clogin.com/mytenant.onmicrosoft.com/oauth2/v2.0/token?p=B2C_1_ROPC_Auth

Content-Type: application/x-www-form-urlencoded
username=john.smit&password=mypassword&grant_type=password&scope=openid myappId offline_access&client_id=myappId&response_type=token+id_token

所有用户都是我公司的员工。在使用B2C之前,我们会将用户数据导入到Azure AD中。

关于如何设置的任何想法?

更新

理想情况下,我们不希望在将@ myfirm.com发送到B2C之前附加它。

更新2

下面的两个链接是否仅适用于外部身份提供商,例如Facebook,而不适用于公司的Azure AD?

这两个链接有什么区别?

https://docs.microsoft.com/en-us/azure/active-directory-b2c/active-directory-b2c-devquickstarts-graph-dotnet

https://docs.microsoft.com/en-us/azure/active-directory-b2c/active-directory-b2c-user-migration

再次,我可以使用Microsoft Graph API代替Azure AD Graph API吗?

https://docs.microsoft.com/en-us/graph/overview?toc=./toc.json&view=graph-rest-1.0

1 个答案:

答案 0 :(得分:1)

如果您通过 emailAddress userName 登录名类型{@ 3}}在Azure AD B2C目录中使用create a local account,则用户可以通过资源所有者(或其他登录)流程使用登录名值登录:

{
  "accountEnabled": true,
  "creationType": "LocalAccount",
  "displayName": "John Smith",
  "passwordProfile": {
    "password": "Test1234",
    "forceChangePasswordNextLogin": false
  },
  "signInNames": [
    {
      "type": "userName",
      "value": "john.smith"
    },
    {
      "type": "emailAddress",
      "value": "john.smith@myfirm.com"
    }
  ]
}