使用 OAuth,您有一个使用者密钥和使用者秘密来识别您的应用程序,并且用户提供一个 OAuth 访问令牌和秘密来验证您的应用程序对其帐户的访问,例如 Twitter。假设您正在使用 Python 开发一个桌面应用程序,该应用程序必须具有使用 OAuth 的 Twitter 功能,如何保护您的消费者密钥?不保密就这么糟糕吗?除了要求用户注册他们自己的 Twitter 应用程序并使用他们自己的消费者密钥和秘密之外,这里还有什么替代方案。
Oauth 消费者的秘密?
信息安全
验证
oauth
推特
2021-09-02 08:07:15
1个回答
无论您使用哪种编程语言,如果消费者机密在二进制文件中的某个位置,则可以检索它。
如果它只是在源代码中硬编码,一个简单的$ strings -a app.exe
将为您提供二进制中的字符串列表。消费者的秘密就是其中之一。
混淆可能会阻止随意的窥探,但只要有足够的时间和资源,它就可以被提取出来。
不保密就这么糟糕吗?
拥有您的消费者密钥/秘密对的人可以冒充您的应用程序,滥用 twitter API 的任何限制,这可能导致您的应用程序无法被其他用户使用并最终被列入黑名单[1]
除了要求用户注册他们自己的 Twitter > 应用程序并使用他们自己的消费者密钥和秘密之外,这里还有什么替代方案。
除了应用程序本身调用 twitter API 之外,您还可以拥有一个代理服务,您可以将 oauth 令牌/秘密对发送到该代理服务,它会进行必要的 API 调用,将数据返回给用户。(如相关stackoverflow线程中所述)
其它你可能感兴趣的问题