6

在设计和学习 ASP.NET Web API 时,我遇到了一些挑战,我希望得到一些帮助和讨论。

受这篇关于在没有 OAuth 的情况下设计安全 REST API 的精彩文章的启发,我想知道如何最好地验证我打算要求的各种令牌和信息。

简要总结是我将要求(在查询字符串中)以下信息..

  • 用户身份
  • api键
  • 时间戳
  • 基于用户已颁发的密钥的签名散列,并与请求值一起散列

我的问题/想知道的是:

如果这是一种合理的方法,那么使用 ASP.NET Web API 实现它的最佳方法是什么?

我目前正在考虑使用我可以标记我的方法的自定义属性,一种从查询字符串中获取所需的 Authorize 属性或一些包含所有值的 POCO 类型对象,我可以使用它来保留所有授权类型代码在一处。

有没有人对此有任何经验或想法?

谢谢 :)

4

1 回答 1

5

目前,您可能已经看到,该AuthorizeAttribute方法用于 Web API。我认为这是一个相当不错的方法,因为我们可以将此属性放在需要授权的单个项目上。

我已经通过扩展System.Web.Http.Filters.AuthorizationFilterAttribute. 扩展后,所有授权细节都由您决定,您有很多方法可供选择。

于 2012-02-28T22:00:24.090 回答