Dotnetopenauth - 资源所有者密码凭据随WebAPI一起流动

时间:2014-02-14 04:57:51

标签: asp.net-web-api dotnetopenauth

我计划将现有的ASP.NET WebAPI API公开给移动应用程序。我想通过Dotnetopenauth使用OAuth2资源所有者密码凭据流,以便用户可以在我们的移动应用程序登录屏幕中输入他们的用户名和密码(而不是在Web查看器中打开屏幕等)并接收身份验证令牌。

因此,我们的设置如下:

  • 资源服务器 - 使用ASP.NET Web API构建的API
  • 客户端 - 移动应用程序
  • 资源所有者 - 最终用户

我一直在玩OAuth2ProtectedWebApi sample,虽然我明白它在做什么,但我不确定如何将其转换为资源所有者密码凭据流。

我的问题是:

  • 我是否应该直接从登录页面向TokenController发布请求,完全绕过此示例中的UserController?
  • 在资源所有者密码凭据流中,授权应在何处完成?例如,为了验证针对Active Directory或数据库的用户名:密码,逻辑应该放在这样的流程中?

任何建议都会非常感激,

由于

JP

1 个答案:

答案 0 :(得分:1)

为什么要使用DNOA?资源所有者流现在是Web API v2的一部分 - 并且非常容易实现。

我在这里写了一篇演练: http://leastprivilege.com/2013/11/13/embedding-a-simple-usernamepassword-authorization-server-in-web-api-v2/

本文介绍了流程以及用户身份验证的位置。