首页 文章

PHP oauth2如何使用refresh_token

提问于
浏览
0

我有点疑惑如何在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 回答

  • 0

    如果您只在用户在线时使用这些令牌(如登录到您的应用程序中),那么我会将其存储在会话变量中 . 如果您还在用户不在线时也使用令牌,则建议将它们存储在数据库中 . 在第一种情况下,每次用户登录时都会收到刷新令牌 . 在第二种情况下,您只会收到一次刷新令牌(即当用户将其第三方帐户链接到您的应用程序时) .

    要回答第二个问题,建议使用access_token存储到期时间戳 .

相关问题