【问题标题】:How to stop Youtube API saving OAuth token in a file?如何停止 Youtube API 将 OAuth 令牌保存在文件中?
【发布时间】:2019-06-08 15:58:55
【问题描述】:

我偶然发现刷新和访问 OAuth 令牌在授权成功后存储在用户的漫游文件夹中。

有没有办法停止这样做?

我也很好奇 - Google 是如何认为它是在磁盘上存储刷新令牌的好方法? (尤其是不告诉用户)。

【问题讨论】:

    标签: .net google-api google-oauth youtube-data-api youtube.net-api


    【解决方案1】:

    99.99% 确定 Google 不会在任何地方存储任何令牌。

    用户已使用某个应用进行了身份验证,因此该应用对这些令牌的操作超出了 Google 的控制范围(除非您说该应用是 Google 的应用之一)。您可能想向应用作者提出问题。

    【讨论】:

    • 感谢您如此有力地证明了信念。但确实如此。 Google YouTube 数据 API v3 可以..
    • oooooo 不,它没有。 API 就是这样,一个接口。接口什么都不做。如果刷新令牌被写入磁盘,那是由一段代码完成的。您需要更新您的问题以准确描述您认为运行的创建刷新令牌的代码。可悲的是,没有这个,你的问题就毫无意义。
    • 所以,澄清一下,保存刷新令牌的是 .net OAuth 库。刷新令牌的全部意义在于它保存在某处,因此可以检索并用于创建访问令牌。我认为您的观点是文档可以更好地解释这种行为。
    • 上次我检查时,DLL中的L代表Library
    【解决方案2】:

    显然(经过一些试验)如果您不提供自己的数据存储,API 会将其保存在您的 Windows 漫游文件夹 \AppData\Roaming\Google.Apis.Auth

    但是,如果您提供“空”数据存储,则不会发生这种情况。

    代码如下:

    UserCredential credential = null;
    
    var ds = new YoutubeDataStore();
    
    using (var stream = new FileStream("client_id.json", FileMode.Open, FileAccess.Read))
    {
        credential = await GoogleWebAuthorizationBroker.AuthorizeAsync(
            GoogleClientSecrets.Load(stream).Secrets,
            new[] { YouTubeService.Scope.YoutubeUpload, },
            "user",
            CancellationToken.None, 
            ds
        );
    }
    

    数据存储:

    public class YoutubeDataStore : IDataStore
    {
        public Task ClearAsync()
        {
            return Task.FromResult<object>(null);
        }
    
        public Task DeleteAsync<T>(string key)
        {
            return Task.FromResult<T>(default(T));
        }
    
        public Task<T> GetAsync<T>(string key)
        {
            return Task.FromResult<T>(default(T));
        }
    
        public Task StoreAsync<T>(string key, T value)
        {
            return Task.FromResult<T>(default(T));
        }
    }
    

    【讨论】:

      猜你喜欢
      • 2015-07-01
      • 1970-01-01
      • 2016-07-20
      • 2012-01-18
      • 1970-01-01
      • 2011-11-29
      • 2018-09-02
      • 1970-01-01
      • 2015-06-28
      相关资源
      最近更新 更多