根据我对OAuth的理解,客户机密应该保密,这意味着我(应用程序创建者)应该拥有它,但不会将其暴露给我的用户。大概是因为如果其他人可以让我的客户保密,他们可以获得访问令牌,好像他们是我的应用程序一样,这可能会让我在滥用时遇到麻烦。
我们来看creating a new authorization in Github。它说:
要为特定OAuth应用程序创建个人访问令牌,您必须提供其客户端ID和密码
现在假设我正在构建一个bash或ruby脚本,并在其中我将请求一个令牌。看到这些脚本只是纯文本,任何人都可以很容易地找到我的客户机密。但即使我要制作一个已编译的二进制文件(这不是我的目标),像strings
这样的东西也可以简单地让硬编码的客户端变得秘密。
OAuth的客户端秘密只能在Web应用程序中合理隐藏吗?它是本地应用程序的crapy系统,特别是脚本吗?
请注意我不需要通过其他方法从Github获取访问令牌的帮助。我知道该怎么做。这些问题是关于在脚本和本地应用程序的上下文中理解OAuth。