Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/442.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript SPA、ASP.Net Identity与Identity Server中的登录令牌安全_Javascript_Authentication_Asp.net Identity_Openid Connect_Identityserver4 - Fatal编程技术网

Javascript SPA、ASP.Net Identity与Identity Server中的登录令牌安全

Javascript SPA、ASP.Net Identity与Identity Server中的登录令牌安全,javascript,authentication,asp.net-identity,openid-connect,identityserver4,Javascript,Authentication,Asp.net Identity,Openid Connect,Identityserver4,问题: 对于具有ASP.NET核心API的Angular应用程序,依赖默认的ASP.NET身份cookie和防伪机制是否安全 在简单的部署场景中,使用标准ASP.NET标识生成承载令牌(JWT)是否有切实的好处?如果是这样,管理过期的最佳方法是什么 对于SPA应用程序,OIDC是否比ASP.NET身份更安全? 即,使用IdentityServer是否更安全 背景: 我正在使用ASP.Net核心API构建一个Angular应用程序,我希望使用现代最佳实践来保护它。我希望用户能够通过OIDC登录

问题:

  • 对于具有ASP.NET核心API的Angular应用程序,依赖默认的ASP.NET身份cookie和防伪机制是否安全
  • 在简单的部署场景中,使用标准ASP.NET标识生成承载令牌(JWT)是否有切实的好处?如果是这样,管理过期的最佳方法是什么
  • 对于SPA应用程序,OIDC是否比ASP.NET身份更安全?
    即,使用IdentityServer是否更安全
背景:

我正在使用ASP.Net核心API构建一个Angular应用程序,我希望使用现代最佳实践来保护它。我希望用户能够通过OIDC登录,但我不需要OIDC服务器来管理对多个应用程序/服务的访问(它只是一个应用程序)。我想要最简单、安全的解决方案

我知道我可以在SPA应用程序中编写代码,针对我想要支持的每个提供商启动OIDC,但使用ASP.Net Identity内置的外部提供商支持似乎更简单。一旦通过身份验证,我就不清楚应用程序应该如何针对XSS和CSRF保护登录令牌/会话安全

ASP.Net Identity默认情况下使用cookie和防伪令牌。这适合JavaScript应用程序吗?XSRF的内置角度支持,这似乎表明这是一种标准做法。Cookie易受XSS攻击,但CSP和Angular可以帮助缓解这一问题

IdentityServer作者建议将OIDC访问令牌与CSP一起存储在会话存储中。(&.)然而,这些代币通常是短期的,因此我怀疑它们有不同的取舍。据我所知,刷新OIDC访问令牌很可能会访问OIDC服务器,这是真的吗

为什么IdentityServer和JWT看起来比ASP.Net Identity更受欢迎?人们真的需要STS或代币的好处来支持移动应用程序吗,还是仅仅在技术上很有趣

其他注意事项:

  • 如果我想将identity与data API划分为单独的ASP.Net核心项目(但仍将它们部署在同一个域/服务器上),这会改变上述问题的答案吗
  • OIDC是否提供其他好处? (考虑到我只有一个API。) 注销是否更容易/更好

一篇文章中的问题太多。要得到有用的答案,试着缩小范围。现在不写一页又一页就回答你的问题是不可能的。