首页 > 解决方案 > 在哪里/如何存储或生成客户端机密?

问题描述

我将 C# .NET 与 YouTubeAPI-Nuget 包一起使用。

该项目是一个桌面应用程序(Avalonia),我需要访问用户的 YouTube 频道(例如更改视频标题)。

我不明白我需要如何或在哪里存储客户端机密,或者我是否可以生成它们,或者我将如何在用户无法访问我的客户端机密的情况下分发程序。

每个想要使用我的程序的用户都需要自己的客户端机密文件吗?如果是这样,我如何自动生成它?(因为我不想为每个想要使用它的用户手动生成客户端机密)

如果他们只需要一个客户端机密,那么我如何在不将纯文本文件放入安装文件夹的情况下分发它?

我真的不知道也找不到关于这应该如何工作的任何信息。

标签: c#google-apiyoutube-apigoogle-oauthyoutube-data-api

解决方案


我不明白我需要如何或在哪里存储客户端机密,或者我是否可以生成它们,或者我将如何在用户无法访问我的客户端机密的情况下分发程序。

由于您有一个桌面应用程序,因此在编译它时,请确保将其编译为应用程序的一部分,例如不要将 clientsecret.json 作为文件与您的应用程序一起发送,例如 dll。它应该编译到您的应用程序中并以这种方式分发。如果你想要更多的 OTT,你可以将它存储在你的服务器上和端点上,并让你的桌面应用程序在它运行或安装时获取它并在本地存储数据。

每个想要使用我的程序的用户都需要自己的客户端机密文件吗?如果是这样,我如何自动生成它?(因为我不想为每个想要使用它的用户手动生成客户端机密)

不,您的应用程序应该有一个客户端 ID 和客户端密钥对,您的所有用户都将使用它们。

如果他们只需要一个客户端机密,那么我如何在不将纯文本文件放入安装文件夹的情况下分发它?

我还没有看到您的代码,但您真正需要的只是客户端 ID 和客户端密码本身作为常量存储在您的应用程序中的某个地方。您实际上并不需要文件本身。


推荐阅读