微信登录

微信登录

因恶意注册过多,目前只支持微信模式
正在播放:Sanctum 授权认证 - Sanctum(AirLock) 让 Laravel API 开发和授权适用更多的应用场景
发布于: 2020.04.08
thinkings 2020.03.20 03:27
出新视频啦。喜欢每个视频前的配图。。赞。
codinget 2020.03.20 03:30
哎,我做网站就是一个自我折磨的过程
thinkings 2020.03.20 03:32
能坚持下来真不容易 ,加油!
每个视频之前的配图,是用心的。赞。
这是种情怀。
小人物1号 2020.03.21 02:03
被作者的,视频封面和片尾, 吸引,  买了会员,  你敢信?  有和我一样的同学没
winter 2020.12.18 05:40
https://github.com/laravel/sanctum/blob/4961787dcb82d17c77754ec69051168992b7fa57/src/Guard.php#L67
想把created_at 改成last_used_at,有什么好的方式么?
codinget 2020.12.18 06:43
你应该修改updated at 才符合逻辑啊,为啥修改创建的时间字段,你可以用下面的方式试一下:
const UPDATED_AT='last_used_modified';
winter 2020.12.18 08:05
Sanctum 默认的过期逻辑是定义了过期时间后,根据created_at字段来判断是否过期,这样不就用户正在操作也会过期么。想改成用last_used_at来判断
codinget 2020.12.18 08:41
哈哈,我都没注意你说的是sanctum里的内容,这个必须要以创建时间作为判断条件,sanctum里颁发的令牌通常时效都很长的,这段时间内应用或网站很可能早发生过多次更新了。没关系的,即便过期了,再颁发一个就行了,这样可以更好的保护安全性,而不是说一直延长token令牌的时效期,那就太不专业了,是一种想当然的做法,千万不要这么干,过期就让它过期就好。咱们自己手机上用的很多应用哪个没有重新登录过啊,甚至手机都换过多少次了。
winter 2020.12.19 12:12
如果想做1小时无操作就退出登录的需求,不是就应该这样么?如果按照默认的逻辑,设置了过期时间,过期时间一到就会过期,岂不是用户正在操作中也会过期?
codinget 2020.12.19 12:29
想复杂了,如果是这种需求,在前端处理就可以了,不需要去操作token的,而且咱们讨论的last_used_at这个字段本身在sanctum中也是存在的,并不需要咱们把created_at字段进行修改,如果一定要用token的话,让当前的时间去跟personal_access_token的last_used_at做比较就行了,但是这会涉及到对token的频繁删除和创建,如果是安全性要求极高的项目,这么做是有必要的,但是绝大部分项目只需在前端处理即可。
winter 2020.12.19 12:49
我没说要修改created_at,只是说把用created_at来判断改成用last_used_at来判断,sanctum中本身就有这个字段可以用来判断。如果不这样做,有更好的方式么?
codinget 2020.12.19 01:42
官方应该没有提供这个定制,只能咱们自己做判断了,因为Sanctum跟Passport不同,Sanctum token的有效期都很长,所以只能靠自己写逻辑,可以搞一个middleware,这样至少代码层面上比较简洁,可维护性也比较高,更好的办法,我想不到了,坐等大家更好的方法吧。
winter 2020.12.19 05:54
搞一个middleware就要多一次数据库操作,Sanctum本身每次请求都要进行三次数据库查询了,我一开始也是自己写了个middleware,后来发现直接修改Sanctum能减少一次查询。
标 题
编程原力 京ICP备17045322号-2
版权所有, 侵权者追究法律责任