icanfork
V2EX  ›  问与答

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

  •  
  •   icanfork · May 22, 2014 · 15085 views
    This topic created in 4466 days ago, the information mentioned may be changed or developed.
    自己的闲时的小项目,现在需要一个PHP版 Token 生成的解决方案,来对客户端 API 调用进行有效性校验,我入行时间较短,暂时还没有可行的办法,特在V2ex上寻求答案

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

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

    做前端做太久,思维定势了。
    4 replies    2014-05-23 04:21:40 +08:00
    vibbow
        1
    vibbow  
       May 23, 2014   ❤️ 1
    用数据库保存token的内容
    只返回token的index
    kslr
        2
    kslr  
       May 23, 2014   ❤️ 1
    MD5 加盐,放到memcache 设置过期时间,延长就更新过期时间,更新就重新设置 最简单的一个办法
    humiaozuzu
        3
    humiaozuzu  
       May 23, 2014   ❤️ 1
    Server Side cookie
    faceair
        4
    faceair  
       May 23, 2014   ❤️ 1
    token作key,value( 例如 user_pwd,可以根据user pwd查找是否存在对应条件用户,改变pwd后找不到用户,这个value自然失效 )存在memcache,控制这个key的生效时间。同时记录token到数据库,保证token与用户一一对应,旧token自动失效。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   3198 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 30ms · UTC 10:39 · PVG 18:39 · LAX 03:39 · JFK 06:39
    ♥ Do have faith in what you're doing.