这是一个创建于 3789 天前的主题,其中的信息可能已经有所发展或是发生改变。
自己的闲时的小项目,现在需要一个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
|
|
1
vibbow 2014-05-23 00:36:22 +08:00 1
用数据库保存token的内容 只返回token的index
|
|
|
2
kslr 2014-05-23 03:01:41 +08:00 1
MD5 加盐,放到memcache 设置过期时间,延长就更新过期时间,更新就重新设置 最简单的一个办法
|
|
|
3
humiaozuzu 2014-05-23 04:02:50 +08:00 1
Server Side cookie
|
|
|
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自动失效。
|