javascript - 使用第 3 方 Oauth 提供商对 API 的用户进行身份验证

标签 javascript api rest oauth

<分区>

我正在使用 RESTful API 将服务器端网络应用程序转换为单页 JavaScript 应用程序。现在。用户可以使用 Facebook、Twitter、Google 等或通过电子邮件和密码进行身份验证。如何允许在 RESTful API 上运行相同形式的身份验证?我猜它看起来像这样:

  1. 在客户端向提供商进行身份验证。
  2. 从 Oauth 响应中获取一些内容并将其传递到我服务器上的 API 以换取访问 token 。
  3. 对后续 API 调用使用基于 token 的身份验证。

我走在正确的轨道上吗?如果是这样:

  1. 是否有处理多个提供程序的 JS 库,或者每个提供程序都需要包含诸如 Facebook 的 JS SDK 之类的东西?
  2. 生成 token 的 API 应该是什么样的?特别是,我需要 Oauth 提供商提供什么以及如何在服务器上验证它?

最佳答案

我会建议生成一个 API 访问 key 或使用单独的 OAuth 流程专门用于您的 API。从概念上讲,您需要将使用您的服务创建帐户的行为与连接远程帐户的行为分开。您可能可以完成您所描述的内容,但这会造成混淆。

为了使客户端中的 OAuth 更容易,请查看 oauth.io

关于javascript - 使用第 3 方 Oauth 提供商对 API 的用户进行身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18066372/

相关文章:

javascript - Nodejs,连接巴士男孩。上传几个文件

php - Mailgun PHP API 于 2018 年 1 月 23 日更改 SSL 证书错误未使用新的 cacert.pem 文件解决

mysql - g++/mysql/redhat 中的 int 问题

mysql - 如何在 golang 中编写一个通用方法以在任何 mysql 表中插入记录

spring - 使用 gzip 压缩 rest 响应

javascript - Angular js : Adding list of nested array properties

javascript - 在 jquery 的 $.get 回调函数中使用文件名

javascript - 检查事件是否由javascript中的窗口触发

node.js - Cloudinary异步等待一次上传多个图像,然后保存到 Node js中的数组

node.js - 无法修改 Mongoose 文档搜索中的对象