如何解决使用隐式授权流程的 Azure B2C 身份验证
我使用的是有一些用户的 Azure B2C 租户。我创建了一个应用程序,并在身份验证中选择了 web。我取消选择隐式授权流程,因为我收到警告 This app has implicit grant settings enabled. If you are using any of these URIs in a SPA with MSAL.js 2.0,you should migrate URIs.
我只选择了本地,没有选择其他提供者。我还有一个 Sing In 用户流程。我什至看不到使用这些设置的 C# ASP.NET 应用程序的登录页面。所以我选择了隐式流程。这样问题就解决了,我可以看到登录页面并可以登录了。
我的问题是为什么我需要隐式流程来进行网络身份验证。
解决方法
除非您使用旧版本的 MSAL,即 MSAL1.XXX 版本,否则您不需要隐式流。
最新版本的 MSAL.js 即 MSAL 2.XXX 版本仅适用于 授权代码流使用 PKCE 而不是隐式流。所以 您需要实现 PKCE 流程而不是隐式 Grand。
如果您使用的是最新版本的 MSAL,请不要使用会启用隐式流的 Access_token
和 id_token
设置。
如果您使用的是 the Microsoft Identity Web authentication library 或 Microsoft Identity Web 项目模板之一,则它会在授权请求中传递 response_type=code id_token
,代表 the hybrid flow。
这就是您必须为应用程序注册选择“ID 令牌”设置的原因。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。