V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
belin520
V2EX  ›  问与答

寻找一个 PHP 版 API 调用验证 Token 生成的解决方案

  •  
  •   belin520 · 2014-05-22 23:15:06 +08:00 · 14555 次点击
    这是一个创建于 3650 天前的主题,其中的信息可能已经有所发展或是发生改变。
    自己的闲时的小项目,现在需要一个PHP版 Token 生成的解决方案,来对客户端 API 调用进行有效性校验,我入行时间较短,暂时还没有可行的办法,特在V2ex上寻求答案

    基本的需求:
    客户端通过用户输入的账号、密码调用 Login 接口,校验成功后,服务返回 Token 供后续 API 调用验证,Token 的特性如下:
    1、通过可逆算法生成,可解密获得对应的加密信息
    2、有时效性,解密后可获得剩余的生命周期
    3、可延续生命周期(通过 API 调用活跃)
    4、可主动销毁(用户修改密码或其他行为获得新的 Token ,此时旧的 Token 失效)

    (⊙o⊙)…以上的特性其实跟 OAuth 2.0 的 Access Token 的非常符合
    但是项目只是平时练手的,感觉 OAuth 2.0 略庞大
    请问,还有什么更好的解决方案吗?
    第 1 条附言  ·  2014-05-23 15:27:41 +08:00
    已经通过Memcache 实现了自己想要的模块
    想着难,实现起来也不是特别需要注意的

    做前端做太久,思维定势了。
    第 2 条附言  ·  2014-05-24 00:29:47 +08:00
    4 条回复    2014-05-23 04:21:40 +08:00
    vibbow
        1
    vibbow  
       2014-05-23 00:36:22 +08:00   ❤️ 1
    用数据库保存token的内容
    只返回token的index
    kslr
        2
    kslr  
       2014-05-23 03:01:41 +08:00   ❤️ 1
    MD5 加盐,放到memcache 设置过期时间,延长就更新过期时间,更新就重新设置 最简单的一个办法
    humiaozuzu
        3
    humiaozuzu  
       2014-05-23 04:02:50 +08:00   ❤️ 1
    Server Side cookie
    faceair
        4
    faceair  
       2014-05-23 04:21:40 +08:00   ❤️ 1
    token作key,value( 例如 user_pwd,可以根据user pwd查找是否存在对应条件用户,改变pwd后找不到用户,这个value自然失效 )存在memcache,控制这个key的生效时间。同时记录token到数据库,保证token与用户一一对应,旧token自动失效。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3285 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 05:06 · PVG 13:06 · LAX 22:06 · JFK 01:06
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.