B2C 返回的 Token 没有被 JWT.MS 解码
Posted
技术标签:
【中文标题】B2C 返回的 Token 没有被 JWT.MS 解码【英文标题】:Token returned by B2C is not decoded by JWT.MS 【发布时间】:2020-09-03 06:00:06 【问题描述】:我正在关注https://docs.microsoft.com/en-us/azure/active-directory-b2c/tutorial-create-user-flows 的教程。我创建了注册/登录用户流程,我只是尝试使用它。我选择了 Google 提供商,因为我已经定义了它。我输入我的国家和显示名称,因为我选择了这些参数是必需的。然后我被重定向到我的应用程序的重定向 URI,即https://jwt.ms。重定向是:
https://jwt.ms/?code=eyJraWQiOiJjcGltY29yZV8wOTI1MjAxNSIsInZlciI6IjEuMCIsInppcCI6IkRlZmxhdGUiLCJzZXIiOiIxLjAifQ..Q45eRY9bXPGXqmqn.WFmA7ERvYw2gsZgAy8zjdBNsxp-fX828V0DMhwLfIw3XTk1cYiIXOaBT0uUkT8HA9mZfJJDBYodM_Ca3xt17lCqGoUHyS8pOtfZQ8pqfOTxdCL6-llVAQYKV9vHKPxWDXYhLxS9sDNTmVUGfALgxPeiZj8nZs9i7ZzFzYXtNyAIATrMSX-r4lGGMWxFgsNp-Vhk7PXZ2_8bgzXiFGLgPXCwVROD_WR7EEMSGTgN_ECbtsRz-ATriYS5s5tfzHhv1cT2f4ELB-OY84bl1nk5LOjSPBoDqXIX-K-pLb6lvXJ4WDFwjzNE7RDcNHlfnNeOivXoPPb4CmAdQvy3SpRJG6i00PgnuDryPOlUEubNoTloB4VPYM_l1n9ueilHugJbKG7B7HxTz5SFDI450dbrv0PSxG47tyC4o3RJ8KMxa4jT5mDEcI7szWQGpVJp_YMDq5yk47ZnDuZ5PnQYoxvzTPHEKVdi6CVsCslBdnxZk61Ep2pKbwa7zvFujS0E14srCOPCnVsE0NwUXx74c1a7H-mRqLCuH0Q0byplcEY1r8xS-ftvRDs1ahRCjxVIBrob9dJSy3bpRsi8wef1KB3wuhWJQMw.WNAXijIJxquWcAqzHeOJXA
问题是,JWT.MS 没有解码它,我只是看到:
我尝试将我的令牌粘贴到框中,但没有任何反应。我还尝试使用具有相同令牌的 JWT.IO。我得到了信息:
签名无效
为什么 B2C 向我返回一个无效的令牌?
【问题讨论】:
当我尝试使用电子邮件而不是 Google 注册时,也会发生同样的事情 - 我刚刚检查过。 【参考方案1】:问题是我没有在我的应用注册的身份验证刀片中启用隐式令牌。
【讨论】:
是的,您可以在它响应的 URL 中看到(授权)代码,而不是 id_token。以上是关于B2C 返回的 Token 没有被 JWT.MS 解码的主要内容,如果未能解决你的问题,请参考以下文章
JWT 令牌嵌套在 B2C 令牌的“idp_access_token”声明中
使用 B2C 生成元数据端点时,id_token_hint 参数签名验证失败
如何使用 B2C 和 Blazor 获取 JWT 不记名令牌