没有得到一个oid响应登录?

时间:2018-03-13 05:47:58

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

我正在使用以下网址尝试登录我的azure ad b2c帐户:

https://login.microsoftonline.com/{tenant}/oauth2/v2.0/authorize?p=B2C_1_B2CSignIn&client_id={client_id}&nonce=defaultNonce&redirect_uri={redirect_uri}&scope=openid offline_access&response_type=code+id_token&prompt=login

当我运行它时,我在响应中得到一个id_token,当我将其转换为json文件时,我注意到没有oid值。这是在一个新的azure ad b2c目录中,我有一个较旧的目录,它在响应中给了我oid所以我必须在某个地方错过设置但是却找不到它。

1 个答案:

答案 0 :(得分:3)

添加内置策略时,在“选择应用程序声明”面板中,您必须选择“用户对象ID”声明。

enter image description here

默认情况下,签名用户的对象标识符作为身份令牌中的sub(主题)和oid(对象标识符)声明发出,如下所示:

{
  "exp": 1520933155,
  "nbf": 1520929555,
  "ver": "1.0",
  "iss": "https://login.microsoftonline.com/{tenantId}/v2.0/",
  "sub": "{userObjectId}",
  "aud": "{applicationClientId}",
  "nonce": "defaultNonce",
  "iat": 1520929555,
  "auth_time": 1520929555,
  "oid": "{userObjectId}",
  "tfp": "{policyName}"
}