2012-09-18 239 views
18

我试图构建一个安全的asp.net web api。你可以找到很多关于如何保护你的API的方法,但是我想知道为我的情况实现这个目的的最佳方式或“行业标准”是什么。ASP.NET Web API授权和身份验证

这些是我的要求 - 该API将通过网站,少数第三方开发者可以使用/移动应用等 - 开发谁想要使用这个API已经被赋予一键访问API (授权) - 用户(访客/消费者)必须登录第三方应用才能看到他们的个性化信息。 - API将使用ASP成员资格数据库来管理/认证用户。

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

OAuth 2.0是一种解决方案吗?

回答

6

我也建议使用Thinktecture.IndentityModel.40库,可支持以下功能:

基地

  • Base64Url编码
  • 大纪元日期时间转换
  • 随机数生成
  • 时间常数字符串比较

权利要求

  • Anoynmous声明主体
  • 认证即时要求
  • 基于声明的授权

  • 有用的常量与算法交易时,日期时间格式,智威汤逊,SWT,WS-Security的& WS-信托

扩展方法

  • XML(往返XmlReader中,XmlDocument的,的XDocument)
  • WS-信托RSTRs
  • 安全令牌转换
  • X.509证书