laravel - 如何更改访问令牌 Laravel Passport 的到期日期
问题描述
我正在尝试更改访问令牌 Laravel Passport 的到期日期。
这是我尝试过的:
身份验证服务提供者
public function boot(){
$this->registerPolicies();
Passport::routes();
Passport::tokensExpireIn(Carbon::now()->addDays(1));
Passport::refreshTokensExpireIn(Carbon::now()->addDays(2));
Passport::personalAccessTokensExpireIn(Carbon::now()->addMonths(1));
}
用户控制器
public function login() {
$credentials = [
'email' => request('email'),
'password' => request('password')
];
if (Auth::attempt($credentials)) {
$success['token'] = Auth::user()->createToken('MyApp')->accessToken;
$success['name'] = Auth::user()->name;
return response()->json(['success' => $success]);
}
return response()->json(['error' => 'Unauthorized'], 401);
}
但它没有用。field 的数据库中的过期日期没有更改,expires_at
默认仍为一年。
我正在尝试这样做,因为我想在访问令牌过期时重定向到登录表单。我该怎么做?
我也不确定刷新令牌会发生什么,它会返回另一个访问令牌并且用户不需要授权吗?
解决方案
您正在创建属于用户的个人访问令牌。
个人访问令牌的默认到期日期为 1 年。
查看您的代码,我很确定该命令应该可以完成工作:
Passport::personalAccessTokensExpireIn(Carbon::now()->addMonths(1));
获取令牌时,仔细检查expire_at
数据库中的列和expires_in
响应中的值。它显示令牌存在的秒数。
推荐阅读
- python-3.x - 从世界标准时间凌晨 1:30 到早上 6 点,每 90 分钟运行一次 celery 任务
- python - scikit-learn (sklearn) 中 GaussianMixture 的负 BIC 值
- react-native - 如何在本机反应中将差异日期格式分配给其他?
- angular - 如何更新嵌套的可观察角度 9?
- node.js - 尝试保存数据库但是当我在 Postman 上测试 api 时出现错误
- python - 每当“chromedriver”不是活动窗口时,Selenium 就会搞砸
- postgresql - 我试图将 postgresql md5 更改为 scram-sha-256 并且我得到 FATAL 密码身份验证失败
- java - 正则表达式识别Java中括号之间的表达式
- javascript - 无法获取 jQuery 中动态生成的按钮的数据属性值
- java - ConcurrentHashMap 中的 put() 方法也是原子的吗?