我正在将一个服务器端的Web应用转换为单页JavaScript应用,使用RESTful API。目前,用户可以使用Facebook、Twitter、Google等方式进行身份验证,也可以通过电子邮件和密码进行身份验证。我该如何允许相同形式的身份验证运行在RESTful API上?我猜它看起来像这样:
- 在客户端与提供程序进行身份验证。
- 从Oauth响应中取出某些信息,并交换为访问令牌,在我的服务器上调用API。
- 对后续的API调用使用基于令牌的身份验证。
- 是否有JS库处理多个提供程序,还是每个提供程序都需要包含类似Facebook的JS SDK之类的东西?
- 生成令牌的API应该是什么样子?特别是,我需要从Oauth提供程序那里得到什么,以及我如何在服务器上验证它?