我正在尝试为我的应用程序构建一个 RESTful Web API。我想知道如何使用 OAuth 对客户端进行身份验证。这些客户端将是单页应用程序 (SPA) 或胖客户端。以下是我希望的用户体验:
- 用户访问 Web 应用程序
- 登陆页面提供了一个通过(Facebook、Yammer 等)登录的按钮
- 用户使用外部 OAuth 提供程序登录
- OAuth 提供者将他重定向到返回 URL
- 页面加载并对我的 Web API 进行 API 调用
所以几个问题:
- 我使用什么机制来注册不同的客户?
- SPA Web 应用程序如何保留 OAuth 提供者颁发的访问令牌?
- 我的 Web API 如何使用提供给 SPA Web 应用程序的访问令牌并识别用户的详细信息?
PS 我打算使用 Node.js 并用 Mongoose 表达来构建 Web API。