我有点疑惑如何在php中正确使用auth_和refresh_token .
我已经向oauth-provider注册了一个新的客户端应用程序 . 之后,我的应用程序将client-id和secret发送到oauth2-authorization-endpoint,返回以下内容:
Array
(
[result] => Array
(
[access_token] => qjdcshsmgwcuvi7hzpgxwqapfb8aoab60fmprk1g
[expires_in] => 86400
[token_type] => Bearer
[scope] => basic
[refresh_token] => whnutk9npmaikcn1bxbovleuqn9ggn9j00jgyiph
)
[code] => 200
[content_type] => application/json
)
太好了,我现在可以使用access_token查询API . 但是access_token将在24小时后到期,整个舞蹈将重新开始 .
问题:
-
我在哪里存储access_token,表明整个过程没有在每个请求上运行?会话不会持久,在conf文件中,memcache是DB吗?)
-
如何在会话中保存时间戳并检查是否必须请求新的access_token,如何处理刷新令牌?
1 回答
如果您只在用户在线时使用这些令牌(如登录到您的应用程序中),那么我会将其存储在会话变量中 . 如果您还在用户不在线时也使用令牌,则建议将它们存储在数据库中 . 在第一种情况下,每次用户登录时都会收到刷新令牌 . 在第二种情况下,您只会收到一次刷新令牌(即当用户将其第三方帐户链接到您的应用程序时) .
要回答第二个问题,建议使用access_token存储到期时间戳 .