因此,在使用 Django-Piston 实现 OAuth 时,我遇到了这里提到的错误:“无效签名”:oAuth provider with Django-piston
之前发布的解决方案对我不起作用,所以我开始深入研究活塞(https://bitbucket.org/jespern/django-piston/overview)和 Scribe(https://github.com/fernandezpablo85/scribe-java)。
事实证明,当使用 JSON 字符串有效负载对 Scribe 请求进行签名时,实际上仅对 OAuth 参数进行了签名。这会导致 Piston 签名验证失败,因为 Piston 对负载中的所有参数以及 OAuth 参数进行签名。
我能够将 Piston 修改为仅签署 OAuth 参数,现在一切正常。作为 OAuth 的新手,我不确定这是否是正确的修复,一种替代方法是修改 Scribe 以对有效负载内容也进行签名(或者可能将每个参数附加到有效负载中,而不是将其作为字符串附加)。
有没有人了解解决这个问题的正确方法?