【发布时间】:2020-05-15 14:01:48
【问题描述】:
我目前正在使用 Identity Server 4 构建一个身份验证服务器,并带有一个针对它进行身份验证的 spa (react) 应用程序。我现在还想采用另一个当前存在的应用程序(这是 ASP.NET MVC 5,针对 .NET 4.5,当前使用 ASP.NET Identity 2 管理类来管理用户和使用 cookie 身份验证注销/登录)和更新它,以便它可以使用这个新的身份验证服务器从外部登录(这样用户可以使用现有的身份验证登录,但现在也可以使用这个身份验证服务器 - 以便可以在这个现有的应用程序和这个其他 spa 之间共享用户会话应用程序)。据我了解,问题是我们需要使用 PKCE 对身份验证服务器进行身份验证,但似乎没有办法使用 MVC 5 应用程序执行此操作 - 我可以安装 Microsoft.Owin.Security。 OpenIdConnect 包,但它不允许使用 PKCE,因为这是一个较新的东西(显然,如果您以 .net 4.6.1 为目标,则有一种方法可以使用该版本的 OpenIdConnect 包)。我不能改变我们的目标,它需要保持 .NET 4.5(升级到 4.6.1 或更高版本会导致构建和当前包出现各种问题,这将是一个比我的组织愿意承担的更大的任务此时开启)。有没有人知道使用面向 .NET 4.5 的 ASP.NET MVC 5 应用程序和使用 Identity Server 4 的身份验证服务器来完成这项工作的方法?唯一的方法是使用 GrantType.Implcit 流,而不是要求 PKCE 和 GrantType.Code,现在甚至会建议这样做吗?
谢谢!
【问题讨论】:
标签: asp.net-mvc-5 identityserver4 openid-connect