在以前的ASP.NET版本中,您可以从默认模板中获得开箱即用的授权和身份验证。
我有一个Web API应用程序和三个或四个定义良好的客户端将使用它,我需要保护它。
我读过有关OpenID和OAuth的内容,但它们似乎对我的问题有点过分了。
实现这一目标的最简单方法是什么?
答案 0 :(得分:1)
如果您需要安全性,这些将是3个最佳解决方案:
WEB API浏览器客户端:隐式OAuth 2流程
WEB API应用程序客户端:OAuth2代码流
(使用OpenId)
OR:具有跨站点请求伪造保护的Cookie身份验证。 (默认模板MVC 6网站模板)
如果您的申请是公开的,我至少会使用其中一种,否则这取决于您的数据的安全性。
答案 1 :(得分:0)
嗯,这取决于你的情况。如果您不需要身份验证(因为它是服务器到服务器方案),请使用安全令牌,如下所述。如果您需要对用户进行身份验证,则可以将基本或摘要安全性与HTTPS结合使用。
在安全令牌方案中,客户端只需将令牌添加到请求标头,服务器就需要验证令牌。确保请求以HTTPS身份传输,以确保令牌已加密。请记住,此方法仅在您知道将访问API的应用程序将位于安全环境(例如,另一台服务器)时才有效。否则,我会寻求另一种解决方案。