Rest API与外部OAuth

我正在尝试为我的应用程序构build一个RESTful Web API。 我想知道如何使用OAuth来validation客户端。 这些客户端将是单页面应用程序(SPA)或胖客户端。 以下是我希望用户体验如何:

  1. 用户访问一个Web应用程序
  2. 登陆页面提供了一个button(Facebook,Yammer等)
  3. 用户使用外部OAuth提供程序login
  4. OAuth提供者将他redirect到返回URL
  5. 该页面加载并调用我的Web API的API

所以几个问题:

  1. 我使用什么机制来注册不同的客户端?
  2. SPA Web应用程序如何保存由OAuth提供者发布的访问令牌?
  3. 我的Web API如何使用提供给SPA Web应用程序的访问令牌并标识用户的详细信息?

PS我打算使用Node.js并用Mongoose表示来构buildWeb API。

您可以使用Passport让用户授权服务(Facebook,Twitter等),以便您的networking应用程序可以访问其用户configuration文件。

这个答案有更多关于在哪里存储OAuth令牌的信息。