我正在尝试构建一个安全的asp.net web api。您可以找到很多方法来保护您的API,但我想知道在我的案例中实现这一点的最佳方法或“行业标准”。
这些是我的要求 - API将由少数第三方开发者用于网站/移动应用等。 - 想要使用此API的开发人员必须获得访问API的密钥(授权) - 用户(访客/消费者)必须登录第三方应用程序才能查看其个性化信息。 - API将使用ASP成员资格数据库来管理/验证用户。
我知道可以使用http基本身份验证来验证用户身份,但是如何实现API的授权部分?
OAuth 2.0是解决方案吗?
答案 0 :(得分:12)
有一篇非常好的文章描述了使用令牌/密钥的身份验证/授权:
它还介绍了一些有关ASP.NET Web API安全性的其他良好实践。
答案 1 :(得分:6)
我还建议使用可以支持以下内容的Thinktecture.IndentityModel.40库:
<强>基强>
<强>权利要求强>
<强>恒强>
扩展方法