【发布时间】:2014-12-14 07:32:33
【问题描述】:
我已经为我的 (android) 移动应用程序构建了一个 Restful Web API,现在我正在尝试保护对 API 的访问。我在这个主题上阅读了大约一个星期,我得到了整个范围 - 从那些说不可能保护 Restful API 的人到那些说 Https (SSL) 就足够了的人。
在这里我不想开始讨论这个问题。我已经解决了 OAuth 或 OAuth2 没关系(据我所知,OAuth 似乎是更好的选择,但在他们使用的 Microsoft 教程中OAuth 2,所以在这里我很困惑),是的,我知道它们是完全不同的,但是我对搜索感到非常沮丧,我会接受任何一个(我必须承认我希望这会容易得多)。正如我所说,我搜索了大约一个星期,我得到的只是概念(很多)。您发送一些数据-魔术开始-通常是用户名/密码到服务器,您的数据正在被处理并且您得到一个令牌-魔术停止-。在 SO 上有很多关于这个主题的问题,但大多数答案都是不精确的(不幸的是不可用)。例如,我得到了这个How to secure WEB API,很好的答案,但没有真正使用它们,或者这个Implement Web API with OAuth and a Single Page Application。我还从 Microsoft 教程中获得了示例,但是代码中有很多开销,并且关于 OAuth 的部分不是很清楚(很不幸,因为整个示例应该是关于 OAuth 的)。我可以发布大量声称谈论这个话题的链接,但实际上它们没有任何帮助。
我正在寻找的是一个简单的、非常简单的 ASP.NET OAuth(2) 实现示例。如果我可以将它与 fiddler 一起使用,在标题中提供用户名/密码并使用grant_type: xxx 我会得到令牌(允许的用户名/密码可以在项目中硬编码,所以不需要用于实体框架实现或后端的任何数据库)。如果有人可以解释我如何使用这个令牌来授权用户,那也很棒(我知道我必须为控制器函数提供[Authorize] 属性,但是这个令牌检查是如何以及在哪里完成的?)。但是请不要发布任何关于 OAuth 的理论,我不需要,这里我正在寻找 Asp.Net Web Api 中 OAuth 的实际实现
谢谢
【问题讨论】:
-
我走的是同一条路,现在我被卡住了。您能否在某处分享您的代码,让我免于重蹈您的覆辙。
-
对不起,我没有检查。问题解决了吗?
标签: asp.net rest asp.net-web-api oauth oauth-2.0