access_type=线上 vs 线下,如何知道使用哪一个

access_type=online vs offline, how to know which one to use

我已经为网络实施了 Google oauth2 服务器流程,用户第一次使用 his/her google 帐户登录时,我必须使用 access_type=offline 来刷新token 并将其保存到数据库,但之后 access_type=online 就足够了。 我读到 google 为每个客户端发出有限数量的刷新令牌(我认为限制是我在搜索时阅读的 25 个)所以在我获得刷新令牌后我只想使用 access_type=online .

但是在用户登录之前,我应该如何知道我是否有帐户关联的刷新令牌。

我不想依赖 cookie,因为用户可能会删除 cookie,多个人使用浏览器,cookie 可能不等于我拥有其帐户的用户,并且...

任何想法如何在显示登录按钮之前使用 google oauth 或类似的东西检测它?

您可以继续使用access_type=offline。它只是不会在第一次后给你一个新的刷新令牌。这将一直有效,直到用户撤销您的客户端的访问权限,在这种情况下,您无论如何都必须获得一个新的。