【问题标题】:OAuth (OAuth2) ASP.NET REST Web API (Self host - windows service) implementationOAuth (OAuth2) ASP.NET REST Web API (Self host - windows service) 实现
【发布时间】: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


【解决方案1】:

这里是detailed post,关于为您的 Web API 项目添加资源所有者密码凭据流程。

【讨论】:

  • 嗨,我自己管理的。感谢您的回答,当我查看时,似乎有些东西我仍然可以使用。
【解决方案2】:

OAuth2 在 Web API 项目中最简单的实现,您可以在这里找到:

只有两个重要文件:

  • Startup.cs(带设置)
  • AuthorizationServerProvider.cs(授权用户使用oauth2)

【讨论】:

    猜你喜欢
    • 2013-07-18
    • 1970-01-01
    • 2020-10-14
    • 2014-07-21
    • 2013-02-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多