【问题标题】:Can I store someone's YouTube access_token & refresh_token only to use it later after a week?我可以存储某人的 YouTube access_token 和 refresh_token 仅在一周后使用吗?
【发布时间】:2026-01-27 21:25:02
【问题描述】:

我有一个 web 应用程序,它允许用户 OAuth 2.0 访问 youtube,并且在交换授权代码后,我可以将 access_token 和 refresh_token 捕获到我的数据库中。

这些令牌是否会被我恶意使用,比如 2 周后,使用 /yoube/v3/delete 或其他一些操作(如插入格式错误的字幕)删除可怜用户的视频 ..

& 如果可以这样做,这不是安全漏洞吗?导致不小心同意 ouath 进入我的应用程序并获得他的 access_token 和 refresh_token 以及我的后端捕获的其他信息的穷人使用

所以基本上当有人同意某个应用程序时...用户现在受应用程序的支配...类似信息可以被存储或删除或任何东西

如果是?可怜的用户可以做些什么来取消链接?用户怎么会知道视频正在被其他人删除?

【问题讨论】:

    标签: youtube youtube-api google-oauth access-token refresh-token


    【解决方案1】:

    访问令牌是短暂的令牌,在此之后将工作一小时,您将需要使用刷新令牌来请求新的访问令牌。

    您的刷新令牌不应过期,除非。

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

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

    如果用户授予您的应用程序离线访问权限,这将为您提供刷新令牌。是的,它们受你的应用程序的支配,它可以做任何你被授予访问权限的事情。

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

    【讨论】:

    • 感谢@DamTo 的回复 .... 所以我明白 accessToken 的寿命很短,因此 refreshtoken ......所以基本上你是说如果有人同意 ouath 的应用程序......用户现在受制于应用程序......可以存储或删除类似信息或其他任何东西?
    • 我不是 100% 确定我明白这一点,但是。如果用户授予您的应用程序离线访问权限,这将为您提供刷新令牌。是的,它们受你的应用程序的支配,它可以做任何你被授予访问权限的事情。
    • 是的 access_type=offline & 我得到了答案...谢谢 :)...
    • 您能否在答案中更新这条信息,以便我将其标记为正确。
    • @DaImTo:抱歉介入:只想添加任何用户 may revoke 在任何时候之前授予任何给定应用程序的访问权限。
    最近更新 更多