桌面应用程序在没有客户端密码的情况下进行身份验证?

时间:2021-04-26 10:49:31

标签: oauth-2.0 google-api youtube-api google-oauth desktop-application

我不明白,您应该如何在桌面应用程序中保留客户端机密。在this guide他们说

<块引用>

已安装的应用程序分发到各个设备,假设这些应用程序无法保密。

但在 Step 5,他们确实需要应用程序的机密。这应该如何工作?我搜索了很多,问了几个 Stackoverflow 问题来接近并获得了很好的 discussion on reddit,但结论总是 it should work without a secret but strangely they require the secret

我还发现了 this question from almost 4 years ago。这个话题有什么进展吗?或者我应该不在乎并将秘密放入源代码中?

1 个答案:

答案 0 :(得分:0)

在发货前编译桌面应用程序时,您需要将客户端 ID 和客户端机密作为 dll 或其他内容的一部分编译到您的应用程序中。不要只将它与 clientsecret.json 文件一起发送。

如果您想过度使用,您可以对其进行一些花哨的加密,以将其作为应用程序的一部分进行加密。

Google 知道有人可以反编译您的应用程序并获取您的客户端 ID 和客户端密码,但这是一个灰色区域,因为没有其他方法可以解决此问题,您的应用程序需要客户端 ID 和客户端密码才能运行和应用安装在用户的机器上,因为他们需要访问客户端 ID 和密码。