我拥有两者,一个位于 api.example.com 的 API 后端和一个位于 example.com 的前端单页应用程序。API 基本上是数据库后端的包装器。
现在,我想让单页应用程序(= 客户端应用程序)的用户使用 API 进行身份验证。为此,据我了解,客户端(=单页应用程序)将 client_id 和 user_id 一起发送到 API,然后 API 会发出 AccessToken。
但是,在我的单页应用程序中,我不确定在哪里/如何存储访问令牌。我正在寻找一个简单的参考,或者一个让登录用户访问 API 应用程序的好概念。
一位朋友向我推荐了这个流程:
- 客户端显示登录(电子邮件或用户名)和密码的输入,
- 客户端应用程序向您的 API 发出请求以获取未经授权的令牌(例如 POST /api/v1/auth/new),
- 服务器为应用程序创建一个令牌并将其发送回,
- 客户端应用程序将令牌连同登录名、密码和请求签名一起发送到 API(例如 POST /api/v1/mobile_authenticate),
- API 验证和验证凭据,
- 如果一切正常,应用程序将使用令牌代表用户进行进一步操作。
有什么想法吗?如何简化或改进?