我已经在我的 django 项目中集成了 allauth,用户可以通过他们的 facebook 帐户登录。现在他们的令牌在数据库中可用,但是当我使用它们从 facebook 获取用户的数据时,会导致令牌已过期的错误。所以我想问的是:
- 当用户登录我的网站时,django-allauth 是否/可以更新令牌?
- 如果它可以/这样做,那么我如何在不让我的用户通过登录流程的情况下获得新的令牌(可能是伪造的登录流程)?
关于 2 的旁注:我在 facebook 文档上搜索了这方面的内容,他们提供了一种通过 GET 调用刷新令牌的方法:
GET /oauth/access_token?
grant_type=fb_exchange_token&
client_id={app-id}&
client_secret={app-secret}&
fb_exchange_token={short-lived-token}
但这必须在令牌过期之前完成,而我在 cron 脚本中使用令牌来获取数据,所以这对我不起作用。