我可以存储一个人的YouTube access_token和refresh_token仅在一周后使用吗?

问题描述

我有一个webapp,可以让用户OAuth 2.0转到youtube,并且在交换授权码后,我可以将access_token和refresh_token捕获到我的数据库中。

这些标记可以稍后被我恶意使用,例如2周后,通过/ yoube / v3 / delete或其他诸如插入格式错误的标题之类的操作来删除不良用户的视频。

&如果可以这样做不是安全漏洞,这会导致使用不当的穷人意外地同意我的应用程序,并且我的后端捕获了他的access_token和refresh_token以及其他信息

因此,基本上,当有人同意应用程序的所有权时……用户现在受该应用程序的支配……可能会存储或删除诸如此类的信息

如果是?可怜的用户该怎么做才能取消链接?用户甚至怎么会知道其他人正在删除视频?

解决方法

访问令牌是短暂的令牌,在该时间之后将持续一小时,您将需要使用刷新令牌来请求新的访问令牌。

您的刷新令牌不应过期。

  1. 如果六个月没有使用过。
  2. 如果用户对您的应用程序进行身份验证,则会获得新的刷新令牌;如果用户再次对您的应用程序进行身份验证,则将获得另一个刷新令牌。您最多可以拥有50个未完成的刷新令牌,所有令牌都将继续工作,直到超过该数量,然后第一个令牌就会过期。
  3. 用户还可以随时通过其帐户撤消您的访问权限。

不必费心存储访问令牌,只需存储刷新令牌,并确保如果您的用户再次对应用程序进行身份验证,则用新的令牌替换数据库中的刷新令牌。

如果用户授予您的应用程序脱机访问权限,这将为您提供刷新令牌。是的,它们受您的应用程序的约束,该应用程序可以执行您曾经被授予访问权限的任何操作。

注意:YouTube API提早启动可能需要一段时间才能完成验证过程。

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...