答案 0 :(得分:1)
为什么不使用全部OAuthConsumer
而不仅仅使用HMAC-SHA1组件?它是经过良好使用的,经过良好测试的代码,可用于许多不同的应用程序。我会说OAuthConsumer
是“已知的好”。
您的服务提供商似乎不太可能出错(除非您是唯一的客户)。
这就是你如何使用加密代码。
我在OAuth签名中遇到的常见问题:
您可以做的另一件事是使用相同的客户端代码连接另一个OAuth服务,例如Twitter。如果您的代码可靠地为Twitter生成正确的签名,那么它可能会为任何其他服务做正确的事情。这可能(可能)意味着问题是,正如您所建议的那样,您的服务。我说“可能”,因为每个OAuth实现似乎都有自己的怪癖。
答案 1 :(得分:0)
这不太可能是问题,但尝试使用iOS内置的HMAC方法来生成SHA:
更有可能的是,您的签名基本字符串实际上是错误的。您确认您的基本字符串符合规范吗?您可以使用一个很好的交互式工具来检查您的请求:
http://hueniverse.com/2008/10/beginners-guide-to-oauth-part-iv-signing-requests/
答案 2 :(得分:0)
我已经弄清楚我的问题是什么,我的消费者密钥包含特殊字符('+'和'='),使用这些字符,来自我的提供商和OAuth iOS框架的签名是不同的。
我试图看看RFC,试图决定谁是对的但无法做出决定。因此,我将尝试破解OAuth代码,使其与我的提供商一起使用。一旦我找到它,我会在这个页面上分享这个技巧。
所以请注意,特殊字符编码可能很棘手,如果您对特殊字符应如何编码以签署您的签名库有意见,请随时分享。