Authentication with MVC Client 4.7.1 and IdentityServer4(使用MVC客户端4.7.1和标识服务器4进行身份验证)
问题描述
我正在尝试集成MVC 4.7.1客户端和ASP.NET Core 3.1标识服务器4和ASP.NET标识服务之间的用户身份验证。
我一直在遵循Cookie颁发的身份验证的本教程:Refreshing your Legacy ASP.NET IdentityServer Client Applications (with PKCE)
到目前为止,MVC客户端能够重定向到登录页面。登录后,我在以下函数中出现空错误:显然codeVerifierCookie为空。
其余配置如下所示。
和在IdentityServer4 ConfigureServices上:
最后,标识服务器4端的Client.cs配置:
Account控制器和其余部分基本上是基本的标识服务器4模板,特别是is4aspid。
- 有没有人尝试过相同的方法,知道什么失败了?
- 有没有办法用JWT代替Cookie?还有,它的缺点是什么?
编辑:显然,此配置适用于Firefox,我怀疑这是Chrome的Same-Site Cookie策略的问题,因此GetRequestCookie中的空。问题是,虽然MVC客户端应用程序运行在HTTP上(注:两者都在本地主机上),但IdentityServer4运行在HTTPS上(否则,还有其他应用程序)。我曾尝试使用SameSite的策略:无、松、严,反之亦然,但没有成功。我不确定还可以尝试什么。
最佳 Mkanakis。
推荐答案
声明SameSite=None
的Cookie也必须标记为安全,这意味着您需要使用HTTPS
阅读更多内容here
这篇关于使用MVC客户端4.7.1和标识服务器4进行身份验证的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!