微信扫码登录

微信扫码登录

邮箱恶意注册过多,目前只支持微信模式
正在播放:Sanctum 授权认证 - Sanctum(AirLock) 让 Laravel API 开发和授权适用更多的应用场景
发布于: 2020.03.20
thinkings 2020.03.20 15:27

出新视频啦。喜欢每个视频前的配图。。赞。

Codinget 2020.03.20 15:30

哎,我做网站就是一个自我折磨的过程

thinkings 2020.03.20 15:32

能坚持下来真不容易 ,加油! 每个视频之前的配图,是用心的。赞。 这是种情怀。

小人物1号 2020.03.21 14:03

被作者的,视频封面和片尾, 吸引, 买了会员, 你敢信? 有和我一样的同学没

winter 2020.12.18 17:40

https://github.com/laravel/sanctum/blob/4961787dcb82d17c77754ec69051168992b7fa57/src/Guard.php#L67 想把created_at 改成last_used_at,有什么好的方式么?

Codinget 2020.12.18 18:43

你应该修改updated at 才符合逻辑啊,为啥修改创建的时间字段,你可以用下面的方式试一下: const UPDATED_AT='last_used_modified';

winter 2020.12.18 20:05

Sanctum 默认的过期逻辑是定义了过期时间后,根据created_at字段来判断是否过期,这样不就用户正在操作也会过期么。想改成用last_used_at来判断

Codinget 2020.12.18 20:41

哈哈,我都没注意你说的是sanctum里的内容,这个必须要以创建时间作为判断条件,sanctum里颁发的令牌通常时效都很长的,这段时间内应用或网站很可能早发生过多次更新了。没关系的,即便过期了,再颁发一个就行了,这样可以更好的保护安全性,而不是说一直延长token令牌的时效期,那就太不专业了,是一种想当然的做法,千万不要这么干,过期就让它过期就好。咱们自己手机上用的很多应用哪个没有重新登录过啊,甚至手机都换过多少次了。

winter 2020.12.19 00:12

如果想做1小时无操作就退出登录的需求,不是就应该这样么?如果按照默认的逻辑,设置了过期时间,过期时间一到就会过期,岂不是用户正在操作中也会过期?

Codinget 2020.12.19 00:29

想复杂了,如果是这种需求,在前端处理就可以了,不需要去操作token的,而且咱们讨论的last_used_at这个字段本身在sanctum中也是存在的,并不需要咱们把created_at字段进行修改,如果一定要用token的话,让当前的时间去跟personal_access_token的last_used_at做比较就行了,但是这会涉及到对token的频繁删除和创建,如果是安全性要求极高的项目,这么做是有必要的,但是绝大部分项目只需在前端处理即可。

winter 2020.12.19 00:49

我没说要修改created_at,只是说把用created_at来判断改成用last_used_at来判断,sanctum中本身就有这个字段可以用来判断。如果不这样做,有更好的方式么?

Codinget 2020.12.19 13:42

官方应该没有提供这个定制,只能咱们自己做判断了,因为Sanctum跟Passport不同,Sanctum token的有效期都很长,所以只能靠自己写逻辑,可以搞一个middleware,这样至少代码层面上比较简洁,可维护性也比较高,更好的办法,我想不到了,坐等大家更好的方法吧。

winter 2020.12.19 17:54

搞一个middleware就要多一次数据库操作,Sanctum本身每次请求都要进行三次数据库查询了,我一开始也是自己写了个middleware,后来发现直接修改Sanctum能减少一次查询。

标 题
编程原力 京ICP备17045322号-2
版权所有, 侵权者追究法律责任