2

我拥有两者,一个位于 api.example.com 的 API 后端和一个位于 example.com 的前端单页应用程序。API 基本上是数据库后端的包装器。

现在,我想让单页应用程序(= 客户端应用程序)的用户使用 API 进行身份验证。为此,据我了解,客户端(=单页应用程序)将 client_id 和 user_id 一起发送到 API,然后 API 会发出 AccessToken。

但是,在我的单页应用程序中,我不确定在哪里/如何存储访问令牌。我正在寻找一个简单的参考,或者一个让登录用户访问 API 应用程序的好概念。

一位朋友向我推荐了这个流程:

  1. 客户端显示登录(电子邮件或用户名)和密码的输入,
  2. 客户端应用程序向您的 API 发出请求以获取未经授权的令牌(例如 POST /api/v1/auth/new),
  3. 服务器为应用程序创建一个令牌并将其发送回,
  4. 客户端应用程序将令牌连同登录名、密码和请求签名一起发送到 API(例如 POST /api/v1/mobile_authenticate),
  5. API 验证和验证凭据,
  6. 如果一切正常,应用程序将使用令牌代表用户进行进一步操作。

有什么想法吗?如何简化或改进?

4

1 回答 1

4

我在服务器 API 中使用 api 密钥进行权限检查。api 密钥的工作流程如下。

  1. 客户端应用程序显示登录(电子邮件或用户名)和密码的输入。
  2. 客户端应用程序向 API 发出请求以获取 api 密钥(例如 POST /api/v1/users/validate)。
  3. 客户端应用程序使用 api 密钥访问 API。(如果是http请求,可以在http头或者查询字符串中包含api key。)

希望能帮助到你。

于 2013-03-12T14:05:37.223 回答