【问题标题】:How to do authentication with a single page app and API backend?如何使用单页应用程序和 API 后端进行身份验证?
【发布时间】:2013-02-28 01:11:07
【问题描述】:

我在 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. 如果一切正常,应用会使用令牌代表用户进行进一步操作。

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

【问题讨论】:

    标签: api rest authentication oauth oauth-2.0


    【解决方案1】:

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

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

    希望对你有帮助。

    【讨论】:

      猜你喜欢
      • 2021-10-17
      • 2022-01-13
      • 2016-08-24
      • 2017-02-21
      • 1970-01-01
      • 2017-03-03
      • 2011-11-23
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多