gpt4 book ai didi

oauth-2.0 - 如何永久使用 oauth2 token ?

转载 作者:行者123 更新时间:2023-12-02 03:43:24 25 4
gpt4 key购买 nike

我想在我的网站上永久使用 oauth2 token 。

使用 google API,当用户授予管理其 google 日历的权限时,我将从 google API 获取访问 token 。我想将它保存在数据库中,并在最后使用它。

但是它变得无效了。我尝试使用 oauth2 刷新 token API 刷新 token 。但是报错如下。

Array ( [error] => invalid_grant [error_description] => Token has been expired or revoked. )

我不希望用户每次进入网站时都给出权限。

我还希望管理员需要使用此 token 或任何其他方式访问用户的日历。

我怎样才能做到这一点?

最佳答案

我正在使用刷新 token 选项,而不是尝试获取永久 token 。

当我使用标签调用谷歌日历时,我添加了如下参数,如“access_type=offline”

$login_url = 'https://accounts.google.com/o/oauth2/auth?scope=' . urlencode('https://www.googleapis.com/auth/calendar') . '&redirect_uri=' . CLIENT_REDIRECT_URL . '&response_type=code&client_id=' . CLIENT_ID . '&access_type=offline';

在用户允许后,我将获得 access_token 和 refresh_token 作为响应。我正在将它们保存在数据库中。然后每次,当管理员访问用户的日历时,将通过 refresh_token api 调用使用存储在数据库中的 refresh_token 获取新的 access_token,直到用户在我的站点中使用取消同步选项。

一旦用户取消同步日历,我将更新数据库。问题已解决。

关于oauth-2.0 - 如何永久使用 oauth2 token ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47708977/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com