我执行本课程中描述的步骤:
Laravel's 5.3 passport and api routes
从api的路线一切正常,我可以注册新用户,阅读他们的数据等 .
然后在AuthServiceProvider上添加此命令
Passport :: tokensExpireIn(Carbon :: now() - > addMinute(2));护照:: refreshTokensExpireIn(碳::现在() - > addDays(1));
我在url {}/oauth/token 登录邮递员
正文:application / x-www-form-urlencoded {grant_type:'password'client_id:{{用户注册的电子邮件}} client_secret:{{从移动应用程序生成客户端密码}}用户名:{{email用户注册的用户}}密码:{{用户输入的密码}}范围:''}
它的成功回应
{“token_type”:“Bearer”“expires_in”:120“access_token”:{}“refresh_token”:{}}
我尝试刷新令牌生命时间到一天发送到 {}/oauth/token
ref => https://laravel.com/docs/5.3/passport#refreshing-tokens
在邮递员我发送
头:
授权:持票人{}正文:application / x-www-form-urlencoded {client_secret:{{从移动应用程序生成客户端密码}} grant_type:refresh_token refresh_token:{} client_id:{ {用户注册的电子邮件}}范围:''}
预期的回应:
{“access_token”:{}“token_type”:'Bearer'“expires_in”:86400“refresh_token”:{}}
但它没有按预期工作,响应它
{“access_token”:{}“token_type”:'Bearer'“expires_in”:120“refresh_token”:{}}
2 回答
因为您正在使用
refresh_token
生成access_token
. 因此它显示access_token
的到期时间,即2分钟,由此行设置:此外,您应该从oauth_clients表中发送客户端ID(id字段整数)...而不是您的客户端电子邮件地址