我正在使用以下网址尝试登录我的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所以我必须在某个地方错过设置但是却找不到它。
答案 0 :(得分:3)
添加内置策略时,在“选择应用程序声明”面板中,您必须选择“用户对象ID”声明。
默认情况下,签名用户的对象标识符作为身份令牌中的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}"
}