Laravel中如何获取当前用户的oauth_access_tokens.expires_at值
获取当前用户OAuth令牌的过期时间
针对Laravel中获取当前用户oauth_access_tokens表的expires_at字段,你可以按以下方式操作:
方法一:获取当前请求使用的令牌过期时间
如果要获取当前请求正在使用的OAuth令牌的过期时间,直接调用用户实例的token()方法即可:
$expiresAt = Auth::user()->token()->expires_at;
这个方法会返回当前认证会话对应的令牌模型实例,直接访问expires_at属性就能拿到过期时间。
方法二:获取用户的所有令牌及过期时间
如果需要查看该用户名下所有的OAuth令牌,可以通过tokens关联关系获取:
// 获取所有令牌的过期时间集合 $allExpiresAt = Auth::user()->tokens->pluck('expires_at'); // 获取第一个令牌的过期时间 $firstExpiresAt = Auth::user()->tokens->first()->expires_at;
注意事项
- 确保你的
User模型已经正确关联了令牌模型,Laravel Passport会自动为User模型添加tokens关联关系,无需手动定义; - 如果你之前尝试的
Auth::user()->accessToken->expires_at无效,可能是因为accessToken并非默认的关联名称,使用官方提供的token()方法或tokens关联会更可靠。
内容的提问来源于stack exchange,提问作者ashkufaraz
相关产品推荐
相关产品推荐

