建议的方法来保护ASP.NET 5 Web API应用程序

时间:2015-12-17 16:46:54

标签: asp.net-web-api asp.net-core

在以前的ASP.NET版本中,您可以从默认模板中获得开箱即用的授权和身份验证。

我有一个Web API应用程序和三个或四个定义良好的客户端将使用它,我需要保护它。

我读过有关OpenID和OAuth的内容,但它们似乎对我的问题有点过分了。

实现这一目标的最简单方法是什么?

2 个答案:

答案 0 :(得分:1)

如果您需要安全性,这些将是3个最佳解决方案:

WEB API浏览器客户端:隐式OAuth 2流程

WEB API应用程序客户端:OAuth2代码流

(使用OpenId)

OR:具有跨站点请求伪造保护的Cookie身份验证。 (默认模板MVC 6网站模板)

如果您的申请是公开的,我至少会使用其中一种,否则这取决于您的数据的安全性。

答案 1 :(得分:0)

嗯,这取决于你的情况。如果您不需要身份验证(因为它是服务器到服务器方案),请使用安全令牌,如下所述。如果您需要对用户进行身份验证,则可以将基本或摘要安全性与HTTPS结合使用。

在安全令牌方案中,客户端只需将令牌添加到请求标头,服务器就需要验证令牌。确保请求以HTTPS身份传输,以确保令牌已加密。请记住,此方法仅在您知道将访问API的应用程序将位于安全环境(例如,另一台服务器)时才有效。否则,我会寻求另一种解决方案。