什么时候(如果有的话)可以将 OAuth 客户端机密放入源代码中?

问题描述 投票:0回答:1

我正在浏览 GitHub CLI 的源代码,我惊讶地发现他们的客户端密钥是这样烘焙的:

var ( // The "GitHub CLI" OAuth app oauthClientID = "178c6fc778ccc68e1d6a" // This value is safe to be embedded in version control oauthClientSecret = "34ddeff2b558a23d38fba8a6de74f086ede1cc0b" jsonTypeRE = regexp.MustCompile(`[/+]json($|;)`) )
GitHub 嵌入这个秘密如何安全?我使用自己的 CLI 应用程序执行此操作安全吗?

security oauth
1个回答
0
投票
客户端机密不应在版本控制系统中公开,尤其是在公共存储库中。它们也不应该被烘焙到用户可用的任何代码中(例如移动应用程序的代码或浏览器中可用的 Javascript 代码)。

我假设(并希望)GitHub 在这里将客户端视为公共客户端。可能存在技术原因,导致他们还必须将客户端密钥发送到某些端点。从这个意义上说,将秘密放入代码/VC 中是可以的。您只需将其视为客户端 ID 的一部分即可。然而,这不是一个非常常见的用例。

© www.soinside.com 2019 - 2024. All rights reserved.