[英]Mapping claims with Azure AD B2C Custom Identity Provider (OpenID Connect)
[英]Azure AD B2C Github identity provider does not provide any claims
我想使用 AAD B2C Github 身份提供者在我的应用程序中授权用户。 要创建一个用户,我至少需要从中获得一个 email - 但我什么也得不到。 我确实根据文档设置了所有内容,我可以在 AAD B2C 用户列表中看到为新用户正确设置了Name
,但是User Principal Name
email 应该是 null
这是JWT的答案
{
"typ": "JWT",
"alg": "RS256",
"kid": "X5eXk4xyojNFum1kl2Ytv8dlNP4-c57dO6QGTVBwaNk"
}.{
"exp": 1611879546,
"nbf": 1611875946,
"ver": "1.0",
"iss": "https://apichat.b2clogin.com/4d39cd56-4c18-4bc7-aaa8-36bf91191c8c/v2.0/",
"sub": "dfe38752-113e-4431-b1bd-23dd53119369",
"aud": "341eea81-859c-485c-baea-2cc9f75f6512",
"nonce": "defaultNonce",
"iat": 1611875946,
"auth_time": 1611875946,
"idp_access_token": "c5c79a8f49c44575cf127fc3c64aaa5710a0a465",
"idp": "github.com",
"tfp": "B2C_1_susi_debug"
}.[Signature]
我错过了什么?
添加
经过一些研究,我怀疑这里的 Github 提供者没有所需的范围或映射。 到目前为止,我还没有看到任何添加它的方法。 通用 OpenID Connect 提供商可能会解决这个问题,但 Github 不支持well-known/openid-connect-discovery
并且我无法在 AAD B2C 中手动设置端点。
到目前为止,我没有看到任何方法可以将 GitHub 连接到我的 AAD B2C 并获得该死的 email - 为什么最大的云平台在拥有相同所有者时不完全支持最大的开发存储库,这超出了我的理解。
好的,我找到的解决方案看起来像这样
Display Name
和Identity Provider Access Token
name
aka username
和idp_access_token
aka token
curl -u username:token https://api.github.com/user
curl -u username:token https://api.github.com/user/emails
将返回所有用户关联的电子邮件{
"email": "***@gmail.com",
"primary": true,
"verified": true,
"visibility": "public"
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.