实现API密钥通信

时间:2013-08-25 10:46:32

标签: php api rest backbone.js

我正在设计一个客户端 - 服务器通信,仅用于学习目的。

在服务器端是php restful server和客户端的主干js app。

基本理念:

  • 成功登录后,服务器将生成唯一的API密钥,将其存储到数据库中,并在帐户不活动一段时间后过期
  • 客户端将获取此密钥和用户ID,将其保存在安全cookie中并将其与每个请求一起使用
  • 如果密钥匹配,服务器将处理请求
  • 所有通讯都在https

这个过程是安全的还是你建议的?

我真的不想和Oauth一起去。

1 个答案:

答案 0 :(得分:1)

在此之前,我已经为基于API令牌的授权创建了一个参考,位于here

我在其中一个项目中做的事情。

  1. 正在生成用户注册和API密钥。
  2. 用户将API密钥保存到localstore或安全cookie。
  3. 要访问API,他必须将API密钥交换为Access Token。他向端点发送请求,并且是userId和apiKey匹配,发出基于HMAC的访问令牌。
  4. 所有API请求都需要通过access_token查询参数或Cookie中的token值传递访问令牌。
  5. 所有必须在SSL上工作。