php开发openAPI程序怎么设计
天蓬老师
天蓬老师 2017-04-11 09:06:26
0
1
728
  1. 想做一个API管理平台的功能 (功能类似于 新浪微博的openAPI 功能不用跟微博openAPI的那么强大)

  2. 调用接口需要授权 授权之后 使用方拿到 用户名 token 等授权信息

  3. 使用方调用接口 参数包含: 用户名 token或者签名儿 等接口参数

  4. 可以设置token的过期时间和token调用次数限制

  5. 可以记录每个用户的调用次数 调用记录

我的思路是:
用mysql存储用户名,签名,token,授权日期,用户权限等信息
用redis的string存储 用户的调用记录
收到使用方的请求之后 根据token验证这个调用是否合法 根据用户名来验证他是不是有权限调用这个接口,是否超出次数限制,超出频次限制,等信息

SF的朋友们,有没有好的思路,或者有类似的开源程序推荐一下 感谢

天蓬老师
天蓬老师

欢迎选择我的课程,让我们一起见证您的进步~~

全部回复(1)
Peter_Zhu

1.既然是Api管理平台你应该有个api表,你的描述上都没提及这个点。其实说api表的话会有点奇怪,我可能会在建一张Services表(服务),一个服务可能提供多个api。

2.授权这块可以参考微信、新浪这些第三方平台开发,注册用户的时候为其分发APPKEY与APPSECRECT(这里的想法是一套设置使用全部服务),用户使用这两个去获取权限判断所要的access_token参数

3.参数大概就这些,参数带的方式的话用GET或者放在header头里面传,https://github.com/firebase/php-jwt 网上比较流行的JWT认证,一个对PHP JSON 网络令牌编解码的库。

4.token的次数与时间设置可以使用你下面提及到的redis机制,感觉不用存表。

5.调用次数,调用记录的话用redis是正确的,可以参考下hash结构

以上,是一些个人的理解,欢迎大家一起讨论。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!