我使用这个googleapis nodejs client作为日历,一切都很完美,但如果我从谷歌帐户安全设置中删除访问,日历仍然连接。有没有办法检查从谷歌帐户删除访问?如何处理这些案件?
当用户第一次向他们提交同意书时,他们会运行您的应用程序。这要求他们授予您的应用访问其Google日历数据的权限。从此时开始,当您的应用程序运行时,用户可能必须再次登录,但他们不必授予您的应用程序权限。如果您有刷新令牌,则可以在需要新请求令牌时使用该令牌。访问令牌有效期为一小时。
现在,如果您申请新的访问令牌,则其有效期为一小时。即使用户访问Google Account security的帐户并删除了应用程序访问其数据的同意,也是如此。
您仍然可以在您当前拥有的任何访问权限有效的情况下访问其数据。如果用户再次尝试使用您的应用程序,则必须获得许可。如果您尝试使用刷新令牌,它将不再起作用。
访问令牌工作一小时,在此期间未被重新授权,假定它们有效。 (实际上,这可能取决于相关的范围和API以及googles策略服务器的工作原理。)
access token旨在成为自包含的许可系统。只要您拥有正确范围的访问令牌,大多数apis都认为您具有访问权限。但是,如果此方法正在访问关键数据,则它们可能具有策略服务器设置。此服务器可能会对访问令牌进行额外检查,以确保用户仍具有访问权限,即使他们具有有效的访问令牌。然而,这样做可能非常耗时且资源繁重,因为重新评估每个呼叫以确保用户仍然具有访问权限。它有点破坏了首先获得有效一小时的令牌的目的。