ホームページ  >  に質問  >  本文

php开发openAPI程序怎么设计

  1. 想做一个API管理平台的功能 (功能类似于 新浪微博的openAPI 功能不用跟微博openAPI的那么强大)

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

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

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

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

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

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

天蓬老师天蓬老师2771日前733

全員に返信(1)返信します

  • 天蓬老师

    天蓬老师2017-04-11 09:08:26

    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结构

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

    返事
    0
  • キャンセル返事