【问题标题】:Is authentication in web API necessary when there is already authentication in my angular app当我的角度应用程序中已经存在身份验证时,是否需要在 Web API 中进行身份验证
【发布时间】:2019-07-04 07:53:15
【问题描述】:

我正在构建一个 Angular 应用程序。我正在检查用户的角色,然后在他登录后进行身份验证。我正在使用角度的 Web API。 Web API 调用是否也需要针对每个用户进行身份验证,还是仅针对该 url 启用 CORS?

【问题讨论】:

标签: angular api authentication asp.net-web-api cors


【解决方案1】:

是的,有必要,如果您有其他人无法访问的敏感用户数据,仅启用 CORS 是不够的

有一些工具可以让您编辑您的请求并伪造来源。因此,如果您在 API 调用中没有身份验证方法,则外部人员可以通过伪造来源访问您的 API,而无需登录。更多关于这篇文章的信息:https://medium.com/netscape/hacking-it-out-when-cors-wont-let-you-be-great-35f6206cc646

引用其他帖子here

请记住:CORS 不是安全性。不要依赖 CORS 来保护您的 地点。如果您提供受保护的数据,请使用 cookie 或 OAuth 令牌 或 Origin 标头以外的其他内容来保护该数据。这 CORS 中的 Access-Control-Allow-Origin 标头仅指示哪些来源 应该允许进行跨域请求。不要依赖它 还有什么。

也就是说,如果您必须在应用程序和服务器之间交换数据,您必须在每次发生这种情况时以安全的方式对您的用户进行身份验证,在登录后,无需存储密码。为此,您可以使用 Sessions 或 JWT(关于 JWT 的一个很好的指南如下:http://jasonwatmore.com/post/2018/05/23/angular-6-jwt-authentication-example-tutorial

【讨论】:

  • 感谢您提供详细信息。我赞成答案,但作为堆栈溢出的新手,声誉点较少。
  • 这是一个很好的问题,我过去也这样问过自己。现在的挑战是以安全的方式实施身份验证方法,这对于 SPA 来说可能很棘手。
猜你喜欢
  • 2017-03-03
  • 1970-01-01
  • 1970-01-01
  • 2014-01-26
  • 1970-01-01
  • 1970-01-01
  • 2018-12-23
  • 2012-09-29
  • 1970-01-01
相关资源
最近更新 更多