因为教程中有个小错误,
$this->getBearerTokenByUser($user, '1', false);
这里第二个参数需要使用字符串,这个值会被直接加密在token中,导致验证refresh_token 的时候报错了。改了应该就行了。
@dannyvan
刷新token,就是用 refresh_token 换取一个新的 access_token 和 refresh_token,无论你的 token 是怎么获取的,当然就是那一个方法啊,上一节的内容。
一个渠道是正常的登录,一个渠道是通过第三方凭证获取。我这么说你能理解不?
@liyu001989 理解是理解 但是我可能想的有点局限 $this->getBearerTokenByUser($user, '1', false); 这个方法是教程中的方法 返回了 两种token 当前台accesstoken过期的时候 我不知道怎么通过refreshtoken 刷新 因为没有方法是只传一个refureshtoken 来刷新的 。。我是新手,希望不吝赐教。谢谢。
@dannyvan 3楼的截图里面不就是只穿了一个 refresh_token ? grant_type=refresh_token?
文档地址:https://learnku.com/docs/laravel/5.6/passp...
你的意思是 client_id 和client_secret 也不传?你使用的是 oauth 的密码模式,必须传啊
Passport 个人访问令牌是没法刷新的 Passport OAuth 认证
个人访问令牌是永久有效的,就算使用了 tokensExpireIn 和 refreshTokensExpireIn 方法也不会修改它的生命周期。
个人访问令牌默认有效期一年,不过 overtrue 最近发现了一个非常简单的修改有效期的方法:博客:如何方便的修改 Laravel Passport Personal Access Token 的过期时间
推荐文章: