我正在使用Renet和Redux在dotnet core 2.0之上构建SPA。不幸的是,vs2017模板不包括身份验证/授权。
环顾四周,我看到很多人都在谈论JWT的使用,并提出像Identity Server或OpenIddict这样的东西来处理这个问题,但我以前只使用过ASP.NET身份来处理安全性。
我的问题是,是否可以通过单独使用ASP.NET
身份确保反应应用程序,如果是这样,为什么有这么多人直接跳到JWT作为保护SPA应用程序的解决方案?
基于令牌的身份验证是唯一适用于SPA应用的方法,还是我可以使用基于Cookie的身份验证?
答案 0 :(得分:4)
我会尽力回答你的问题。
<强> Q.1。是否可以通过单独使用aspnet身份确保反应应用程序,如果是这样,为什么这么多人直接跳到JWT作为保护SPA应用程序的解决方案?
<强> Q.2。基于令牌的身份验证是唯一适用于SPA应用的方法,还是可以使用基于Cookie的身份验证?
回答第一个问题(这个问题在技术上与基于cookie和基于令牌的身份验证方法之间的区别有关。)
基于Cookie的身份验证系统
基于令牌的身份验证系统
StateLess ,因为服务器不会在此处跟踪发出哪个令牌或哪些用户登录。
此处服务器只需要验证令牌的有效性。因此,基于令牌的方法比基于cokie的方法更为重要。
<强>来源强>
回答第二个问题
是的,您可以使用 OWIN Cookie身份验证middileware 在spa中实现基于cookie的身份验证。
您可以在以下链接中找到有关它的更多信息。
希望以上将有所帮助。
答案 1 :(得分:0)
如果您打算在一个域中使用 React 和 API,并且 SPA 将是 API 的唯一客户端,则可能建议使用基于 cookie 的身份验证和 SameSite Cookie。