我正在开发一个由几个组件组成的系统:
- RESTful 服务- 必须可从移动设备访问的公共 API。(ASP.NET 网络 API)
- ASP.NET MVC 4 网站,也使用这些服务。
- 移动应用程序。
Site\app 用户应该能够使用他们的 Facebook 帐户登录那里。我目前对该过程的理解如下:
site\app 向 Facebook 发出请求以获取访问令牌。一旦用户确认将他\她的详细信息传递给我的应用程序,我的站点\应用程序就会收到身份验证令牌。
site\app 将令牌传递给我的 RESTful API
API 通过向 facebook 发送带有密钥的请求来验证令牌。然后用户可以被创建\认证,api为用户生成访问令牌。每次用户尝试访问 API 时,我都没有看到任何发出请求的理由。
我正在考虑实现这一点的最佳方法。ASP.NET MVC 4 具有开箱即用的 OAuth 支持,但它仅在您在 MVC 应用程序中执行所有操作时才有效。DotNetOpenAuth 已内置 FacebookClient 类,但它假设相同的想法。出于安全原因,我不想在 API 之外公开秘密。
作为最后的选择,我们可以通过直接向 facebook 发出请求来实现这一点,但我想知道是否有更好的选择?DotNetOpenAuth 可以用于这两个步骤的过程吗?