首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Laravel 中如何更方便的修改 Passport Personal Access Token 过期时间

认真看过 Laravel Passport 文档 的人应该知道,它的 Personal Access Token 是不支持自定义过期时间的,tokensExpireIn 对此类 token 无效,原文如下...默认时间为 1 年,但是这可能不满足我们的需求,我们想要改成其它更短的时间怎么办呢?...今天尝试了一下,应该算是全网可以找到的最简单方法了,直接在 app/Providers/AppServiceProvider 中添加一句就可以搞定,下面以改为有效期为 1 周的示例来演示: app/Providers...php //... use Laravel\Passport\Bridge\PersonalAccessGrant; use League\OAuth2\Server\AuthorizationServer...关于时间值的写法,请参考: https://secure.php.net/manual/en/dateinterval.construct.php

2.5K10

如何在Redis中实现分布式锁的动态过期时间?

在 Redis 中实现分布式锁是常见的场景,而动态过期时间则是一种非常有用的功能,可以根据业务需求灵活地调整锁的有效期。下面我将详细介绍如何在 Redis 中实现分布式锁,并实现动态过期时间。...在以上示例中,acquire_lock 函数尝试获取锁并设置锁的过期时间,release_lock 函数用于释放锁。...实现动态过期时间: 要实现动态过期时间的分布式锁,我们可以结合使用 SETEX(SET with EXpiration)命令和 Lua 脚本。...以下是一个示例代码,演示了如何在获取锁时动态设置过期时间: import redis # 连接 Redis r = redis.Redis(host='localhost', port=6379, db...在以上示例中,我们通过 Lua 脚本实现了动态设置锁的过期时间。脚本会比较当前锁的过期时间与传入的最大过期时间,如果当前过期时间小于传入的最大过期时间,则更新过期时间。

25210
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Laravel 5.2+ 使用url()全局函数返回前一个页面的地址

    注意:文章标题中5.2+表示该文章内容可向上兼容,适用于Laravel版本5.2及更高(目前最新为5.6),但不可向下兼容,即不适用于5.2版本以下。...推荐大家花一点点时间,将自己的Laravel更新至5.6版本。 在后台开发时,我们经常需要获取用户之前操作页面的地址并生成一个返回之前页面的链接。...而Laravel从版本5.2+开始,便提供了一系列全局帮助函数(Helper Functions)来简化我们的工作: https://laravel.com/docs/5.2/helpers#method-url...要查看更高版本的相应文档,请将以上链接中的版本号替换为相应版本即可。...帮助函数中有一些很常用到的,比如Paths中的public_path及storage_path,Miscellaneous中的dd、view、session等。

    1.3K20

    深入理解 Laravel 管道

    基本上,你可以使用 laravel 管道(pipelines)基于链式操作将对象传入多个类中执行任何类型的任务,并在所有「任务」执行完成后一次性返回最终结果。...你可以从 Laravel pipelines 获取更多相关知识。 有关管理工作原理的最常见的示例是在框架本身的组件中的使用。我这里说的就是「中间件」。...我将以一些实例来阐明它的相关概念。 在类中运行多个任务(Working on a class that requires to run multiple tasks) 考虑一下这样的场景。...这里应该发生的是提交的内容将会被每个 \$pipes 修改,最终的返回的内容将被保存。...但是值得高兴的是在你的知识库中在需要的时候已经建立了管道这个新的武器的知识。 我希望这个实例能够让你对「Laravel Pipelines」有更深如的了解,并知道如何使用它们。

    3.3K20

    填一个laravel视图缓存没有及时更新的坑

    填一个laravel视图缓存没有及时更新的坑 2018-5-5 1.此坑背景 laravel在渲染blade模板后,会将渲染好的结果存到storage/framework/views(默认路径,也可在配置中修改的...google 好多次,得到了以下结论:  1.laravel 的视图缓存是无法设置过期时间的。 2.laravel的视图缓存功能是无法关闭的。 如果是这样,那一定是我的开发环境出了问题。...,且逻辑是 若blade文件的修改时间比缓存文件的时间小时 才会使用缓存。...所以,很可能是我机器的时间问题。 于是查了一下虚拟机的时间。。。。果然不正确。...修改好后,blade缓存不更新的问题 fixed~~~ 接下来就是得查为什么我的虚拟机时间突然不对了~~~~  反正vmware奇怪的问题总是那么多 见怪不怪了 完结~ /vendor/laravel

    1.9K20

    Dingo Api 的限流在Laravel的限流基础上做了哪些修改?

    相同点 两者都是通过中间件处理请求限流 处理方式都是记录缓存key,设置过期时间,在没过期的时候自增,直到超出限制,或key过期 Laravel 限流中间件 Illuminate\Routing\Middleware...Dingo支持修改限制key,Laravel默认没有支持修改方法 Dingo支持添加多个限制规则,逻辑上使用限制数最小的进行判断。 假设有两个限制器,且都符合限制条件。...Dingo 返回了过期限制到期时间,Laravel默认不返回限制到期时间 Dingo\Api\Http\RateLimit\Handler获取限制最少的限制器代码如下: ?...处理方式都是记录缓存key,设置过期时间,在没过期的时候自增,直到超出限制,或key过期。...Dingo支持修改限制key,Laravel默认没有支持修改方法;Dingo支持添加多个限制规则。

    1.5K10

    Laravel Sanctum API 授权

    简单来说,前后端分离的项目,使用 token 验证登陆状态,可以选它;另外,同类型的还有 jwt 比较火 安装 Laravel 9 已经包含了 Laravel Sanctum,所以下面的步骤看看就行了..." php artisan migrate 接下来,如果您想利用 Sanctum 对 SPA 进行身份验证,您应该将 Sanctum 的中间件添加到您应用的 app/Http/Kernel.php 文件中的...api 中间件组中: 'api' => [ \Laravel\Sanctum\Http\Middleware\EnsureFrontendRequestsAreStateful::class,...修改 sanctum 的配置文件中的 expiration 选项(默认为 null),此选项设置的数字表示多少分钟后过期: // 365天后过期 'expiration' => 525600, 如果您的程序中配置了...token 的过期时间,那您多半会希望能用任务调度自动删除过期了的 token 数据。

    3.1K30

    Laravel 7.x 使用 keyspace notification 监听不到 Key 过期事件

    这个在 Laravel 中其实有更好的选择方式 队列,使用延时队列 ProcessPodcast::dispatch($podcast)->delay(now()->addMinutes(30)); 但是我还想到一种方案就是使用...意思就是当 Redis 的 key 删除是,回主动通知发送消息给我们,我们只需要监听订阅对应的事件即可。 接下来我还原事情经过。说一下我遇到的问题,以及最后是如何解决的。...等类型无关的通用命令的通知 $ 字符串命令的通知 l 列表命令的通知 s 集合命令的通知 h 哈希命令的通知 z 有序集合命令的通知 x 过期事件:每当有过期键被删除时发送 e 驱逐(evict)事件...:每当有键因为 maxmemory 政策而被删除时发送 A 参数 g$lshzxe 的别名 好了,言归正传,接下来在 Laravel 中,我是新建一个 Command 命令 php artisan make...我猜是 Laravel 的门面 Illuminate\Support\Facades\Redis ,这个订阅可能需要配合 发布一起使用。

    1.7K10

    3分钟短文:说说Laravel通用缓存Cache的使用技巧

    代码时间 laravel在设计上做了很巧妙的构思,将缓存相关的类,设计得有插接件的感觉。...那就就用第一个位置参数数组的键作为缓存的键名,数组的第一个值作为缓存的值。 同时查看是否有第二个位置参数,将其作为expired过期时间处理。没有的,则默认为null,永不过期。...laravel日期时间处理默认使用Carbon类库,所以缓存也用到了该库, 并且把用法发挥到极致了。 比如我们可能想动态地设置过期时间,不计算时长,能不能设置为 到某个时间点结束 ? 自然是可以的。...至于时长,laravel帮你算好了。我们只关心这个到期时间点,代码可读性明显增强了许多。 其他方法不一一介绍了,特别说一下有个需求,比如说代码中,我们先查找缓存数据,如果没有就去程序上下文获取。...特别是remember方法,在上下文逻辑不复杂的处理中,可有效减少代码量,非常直观。 Happy coding :-) 我是@程序员小助手,持续分享编程知识,欢迎关注。

    2.1K00

    【MQ06】延时队列与优先级队列

    Carbon 类型的时间对象,这个对象是 Laravel 框架中的一个组件。...具体的处理过程大家可以参考我之前的 Laravel 系列中关于队列那一篇文章的讲解。...我们之前演示的是在队列定义时设置队列的消息过期时间,如果只使用这种形式,那么整个队列中所有的消息过期时间都是一样的,这个明显不符合我们的需求。...所幸,消息对象,也就是 AMQPMessage 对象的 expiration 属性,也可以设置一个过期时间。它和队列定义中的 x-message-ttl 一起存在的话,谁小就按谁先过期。...至于之前提到过的其它消息队列,如果你在工作用到了,再详细深入的学习吧,我更推荐的还是 Redis(Laravel框架实现)、RabbitMQ、Kafka 这三个。

    23710

    基于 Redis + 资源库模式实现 Laravel 应用缓存功能

    今天学院君来给大家演示如何在 Laravel 项目中基于 Redis 实现应用缓存功能,这想必也是很多人日常使用 Redis 最多的业务场景,这里的缓存指的是将数据库查询结果存储到 Redis,其目的是将数据加载从磁盘...,则通过 serialize 方法将其序列化为文本字符串,这里使用 SETEX 指令的原因是需要设置缓存过期时间),再返回数据库查询结果。...$this->unserialize($value) : null; } ... /** * 设置带有过期时间的缓存项 * * @param string $key * @param...,调用该方法时,如果缓存项存在,则基于底层缓存存储器的 get 方法返回对应值,否则的话,通过回调函数参数和过期时间设置缓存项并将其返回。...你可能已经注意到,Laravel 缓存组件有独立的缓存键前缀,这个前缀可以在 config/cache.php 中配置: 'prefix' => env('CACHE_PREFIX', Str::slug

    2.5K10

    为什么 Laravel 这么优秀?

    我准备从一个后端最常用的 CURD 例子说起,一步一步阐述这过程中 Laravel 都是怎么完成的;以及~大家~(我)为什么喜欢用 Laravel。...这篇文章中我使用的 Demo 是最新版的 Laravel 10.x 以及 PHP 8.2。...比如你在上一次变更操作中错误的设置了某个表的索引,那我理解的正确的做法不是回滚,而是创建一个新的迁移文件,并在新的迁移文件中 ALTER 之前的修改。...我猜这也是为什么 Laravel 不需要实现其他优秀的路由算法如 Radix Tree 的原因吧。...,你不得不花更多的时间去适配它;而当你的团队有新人接手这些项目时,他也得跟你走一样的路,并且 Laravel 团队说不定哪天还会弃用它们(如 Laravel-Mix)。

    26610

    Laravel中的Auth模块详解

    前言 本文主要给大家介绍的是关于Laravel中Auth模块的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧。...关于环境方面,我觉得DOCKER是非常合适和快速部署的一个方式】/uth::logout() 密码处理 配置解读 return [ 'defaults' => [ 'passwords' => 'users...;users是配置方案的别名,包含三个元素:provider(提供用户的方案,是上面providers数组)、table(存放重置密码token的表)、expire(token过期时间) default...“要发送的邮箱”这个字段要填写; 验证“要发送的邮箱”是否是数据库中存在的,如果存在,即向该邮箱发送重置密码邮件; 重置密码邮件中有一个链接(点击后会携带 token 到修改密码页面),同时数据库会保存这个...post) 当前用户是否可以修改文章(用帮助函数):policy($post)->update($user, $post) 当前用户是否可以修改文章(Controller 类方法中调用):$this

    1.2K20
    领券