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

2014-05-22 23:15:06 +08:00
 belin520
自己的闲时的小项目,现在需要一个PHP版 Token 生成的解决方案,来对客户端 API 调用进行有效性校验,我入行时间较短,暂时还没有可行的办法,特在V2ex上寻求答案

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

(⊙o⊙)…以上的特性其实跟 OAuth 2.0 的 Access Token 的非常符合
但是项目只是平时练手的,感觉 OAuth 2.0 略庞大
请问,还有什么更好的解决方案吗?
14565 次点击
所在节点    问与答
4 条回复
vibbow
2014-05-23 00:36:22 +08:00
用数据库保存token的内容
只返回token的index
kslr
2014-05-23 03:01:41 +08:00
MD5 加盐,放到memcache 设置过期时间,延长就更新过期时间,更新就重新设置 最简单的一个办法
humiaozuzu
2014-05-23 04:02:50 +08:00
Server Side cookie
faceair
2014-05-23 04:21:40 +08:00
token作key,value( 例如 user_pwd,可以根据user pwd查找是否存在对应条件用户,改变pwd后找不到用户,这个value自然失效 )存在memcache,控制这个key的生效时间。同时记录token到数据库,保证token与用户一一对应,旧token自动失效。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/113850

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX