ASP.NET Web API授权和身份验证

18

我想构建一个安全的ASP.NET Web API。虽然有很多方法可以保障API的安全性,但我想知道在我的情况下什么是最好的或者“行业标准”的实现方式。

这是我的需求: - 小量第三方开发人员将使用此API,用于网站、移动应用等。 - 想要使用此API的开发人员必须获得访问API的密钥(授权)。 - 用户(访问者/消费者)必须登录第三方应用程序才能查看他们的个人信息。 - API将使用ASP成员身份数据库来管理/验证用户。

我知道可以使用HTTP基本认证来验证用户,但是如何实现API的授权部分呢?

OAuth 2.0是否是一种解决方案?

2个回答

12

有一篇很好的文章介绍了使用token/key进行身份验证/授权:

它还描述了关于ASP.NET Web API安全性的其他一些良好实践。


6
我建议使用Thinktecture.IndentityModel.40库,该库支持以下功能: Base
  • Base64Url编码
  • 时期日期转换
  • 随机数生成
  • 时间常量字符串比较
Claims
  • 匿名声明主体
  • 身份验证时间声明
  • 基于声明的授权
Constant
  • 处理算法、日期时间格式、JWT、SWT、WS-Security和WS-Trust时有用的常量
Extension Methods
  • XML(从XmlReader、XmlDocument、XDocument转换)
  • WS-Trust RSTRs
  • 安全令牌转换
  • X.509证书

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接