如何使用基于令牌的 HTTP 基本身份验证保护 MVC 4 .NET SPA 模板中的 WebAPI?

Posted

技术标签:

【中文标题】如何使用基于令牌的 HTTP 基本身份验证保护 MVC 4 .NET SPA 模板中的 WebAPI?【英文标题】:How to secure WebAPI inside MVC 4 .NET SPA template with token-based HTTP basic authentication? 【发布时间】:2013-04-10 14:42:30 【问题描述】:

我一直在阅读有关保护 WebAPI 主题的不同文章,包括:

leastprivilege article

kevin junghans article

piotr walat's article

还有很多其他的。

我想使用 MVC 4.NET SPA 模板(带有 Backbone.js 或其他 JS 库)并且我想通过基本的 http 身份验证来保护 SPA 使用的 WebAPI,在标头中使用令牌,因为一些WebAPI 客户端将不支持表单身份验证所需的 cookie。

SPA 模板使用 SimpleMembership 和 oauth,我想将它们与基本的 http 身份验证结合使用。

我不清楚开箱即用的 SPA 模板是否使用基本的 HTTP 身份验证和令牌对 WebAPI 进行身份验证和授权,还是我必须按照上面的链接将其拼凑起来?

【问题讨论】:

【参考方案1】:

这是一个相当大的话题,最好在插入模板之前完全理解它。

这是一个很棒的视频,可帮助您将所有内容都到位:https://vimeo.com/43603474

您必须使用 SSL 进行任何基于令牌的身份验证(如 oAuth)

一旦用户通过身份验证 - 通过 oAuth 或您自己的成员资格提供程序,您可以简单地将任何 Web Api 方法归入 [Authorize] 以确保未经身份验证的用户无法调用这些方法(将返回 401 - 不如果未通过身份验证,则授权)

【讨论】:

以上是关于如何使用基于令牌的 HTTP 基本身份验证保护 MVC 4 .NET SPA 模板中的 WebAPI?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用经过身份验证的 id 令牌和数据库规则保护 Firebase Cloud Function HTTP 端点?

用于反应前端的基于令牌的身份验证

在 RESTful API 中存储身份验证令牌的位置?

我可以有两个 Spring Security 配置类:一个使用基本身份验证保护一些 API,另一个使用 JWT 令牌保护 API?

使用 HTTP 基本身份验证获取 JWT 令牌的安全性如何?

基本身份验证是基于令牌的身份验证吗?