程序问答   发布时间:2022-06-01  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了Azure AD B2C Github 标识提供者不提供任何声明大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决Azure AD B2C Github 标识提供者不提供任何声明?

开发过程中遇到Azure AD B2C Github 标识提供者不提供任何声明的问题如何解决?下面主要结合日常开发的经验,给出你关于Azure AD B2C Github 标识提供者不提供任何声明的解决方法建议,希望对你解决Azure AD B2C Github 标识提供者不提供任何声明有所启发或帮助;

我想使用 AAD B2C Github 身份提供者在我的应用中授权用户。要创建一个用户,我至少需要从它那里收到一封电子邮件——但我什么也没收到。我确实根据文档设置了所有内容,我可以在 AAD B2C 用户列表中看到 name 已为新用户正确设置,但 User Principal name 的电子邮件应为空

这是 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 并收到那该死的电子邮件 - 为什么最大的云平台在拥有相同所有者的情况下不完全支持最大的开发存储库,这超出了我的理解。

解决方法

好的,我找到的解决方案看起来像这样

  1. 在用户流的应用程序声明中设置 Display NameIdentity Provider Access Token
  2. 在 GitHub auth 上,您将获得 name aka usernameidp_access_token aka token
  3. 这允许我们调用 github 用户 api curl -u username:token https://api.github.com/user
  4. 默认情况下,用户 api 返回公共用户个人资料,其中可能没有设置电子邮件
  5. curl -u username:token https://api.github.com/user/emails 将返回所有与用户相关的电子邮件
  6. 我们需要主要的
{
    "email": "***@gmail.com","priMary": true,"verified": true,"visibility": "public"
}

大佬总结

以上是大佬教程为你收集整理的Azure AD B2C Github 标识提供者不提供任何声明全部内容,希望文章能够帮你解决Azure AD B2C Github 标识提供者不提供任何声明所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: