我使用这个库:Oauth2 PHP的oauth2 PHP变化到期时间
我找不到更改过期时间的设置,我想:
new OAuth2\Server($this->_mem, array('use_jwt_access_tokens' => true, 'access_token_lifetime' => 2419200));
但令牌的使用寿命总是3600 。什么是正确的设置?
编辑:至于建议,我试图用刷新令牌
new OAuth2\Server($this->_mem, array('use_jwt_access_tokens' => true, 'always_issue_new_refresh_token' => true));
的client_credential交付式+智威汤逊承载的作品,但我从来没有得到一个刷新令牌(只访问令牌)。即使经过令牌验证,我也从未获得刷新令牌。
编辑:由于刷新不工作对我来说,作为建议我尝试设置令牌到期时间做
new OAuth2\Server($this->_mem, array('use_jwt_access_tokens' => true, 'access_lifetime' => 12000));
根据客户证书的响应仍返回短令牌
{ ["access_token"]=> string(648) "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJpZCI6ImU0NjE0MzdhMjY2YjFkNWY0OWU5MDY5MjQwODg5NjU0MDI2ZGRmODAiLCJpc3MiOiIiLCJhdWQiOiI4OWM2MjRmNTNiYTVmOTM3NjFmZWFhNmU1MGI1ZDk1NGQ4ZGRjMTIxIiwic3ViIjpudWxsLCJleHAiOjE0MzQ0NjI2NDIsImlhdCI6MTQzNDQ1OTA0MiwidG9rZW5fdHlwZSI6ImJlYXJlciIsInNjb3BlIjoicHVibGljIHJlYWRfbmV3cyJ9.Mk_KyUk_8yPnq9eEjvgVOJXBOkQSifAPbEaUvY4X9WvfmImPnC7PJx_99ODpiJR_gMLhZ3gBl1gQEJ2z6xUZ83dntCYzGWumkVLNpJG8omuVkmZqNnbLYYXl-vzmGOblceeDrKw_lrXc4rb72BeFaMeZWwFV7YMrgA0LOsYyZmAiDblcbHtpPGpUd2EC3y7VxLnyA8u07eY4aswOHwClPlDwHX_HwfMUmDLWkoTcrRf1AvKn-cnj41eL0SU9AJHWab8AOK7lxDsaqnits5pXj--cG9hr8pWOsFPQ2D9qYOsMvbEOi4zDJEdaIp-qvzn6N5Wrm5GxdbU1AqwvM531hQ" ["expires_in"]=> int(3600) ["token_type"]=> string(6) "bearer" ["scope"]=> string(16) "public" }
看来这是一个缓存问题,令牌现在设置为正确的过期长度/时间
请参阅编辑 – Eric
@RaelGugelminCunha:你为什么提到谷歌?该问题提到了OAuth 2.0服务器PHP,而不是Google。任何人都可以在[RFC 6749](https://tools.ietf.org/html/rfc6749)上创建OAuth 2.0授权服务器,其中包括Facebook,LinkedIn,Google以及运行OP中列出项目的任何人:OAuth 2.0 Server PHP 。 – Grokify
它的工作,它被困在服务器缓存中,感谢您的帮助 – Eric