【发布时间】:2018-01-27 00:10:38
【问题描述】:
我在request_token 阶段遇到了 Twitter OAuth 1.0 问题
如果我设置了 oob 的 oauth_callback(甚至省略了回调 url),那么它可以正常工作,但之后当然不会将用户重定向到我的网络应用程序。
注意我可能会以错误的方式解决这个问题。我只想指定在 Twitter 上授权 OAuth 请求后客户端浏览器应定向到的 URL
一旦我将 oauth_callback 更改为我的应用的回调 url,我就会收到错误 “无法对您进行身份验证”
我已在 twitter 上的应用程序设置中将回调 url 设置为与我在 request_token 进程的 oauth_callback 参数中设置的完全相同的 url,仅供参考,即未指定路径,https://www.example.com/
任何帮助将不胜感激
更新
此请求有效(根本没有指定回调 url):
POST https://api.twitter.com/oauth/request_token HTTP/1.1
Authorization: OAuth oauth_consumer_key="----myconsumerkey----", oauth_nonce="r70s1926", oauth_signature="iFGmXEpDav0lVpge9Ls9ACGI6r0%3D", oauth_signature_method="HMAC-SHA1", oauth_timestamp="1503053275", oauth_version="1.0"
此请求没有(指定回调 url,与 twitter 应用设置相同):
POST https://api.twitter.com/oauth/request_token HTTP/1.1
Authorization: OAuth oauth_callback="https%3A%2F%2Fwww.example.com", oauth_consumer_key="----myconsumerkey----", oauth_nonce="707n8282", oauth_signature="0KWzeJwQ%2FNMfmdZ%2Bt0zNEU4g3Ag%3D", oauth_signature_method="HMAC-SHA1", oauth_timestamp="1503053306", oauth_version="1.0"
上面的请求返回:
{"errors":[{"code":32,"message":"Could not authenticate you."}]}
【问题讨论】:
-
“我收到错误消息“无法对您进行身份验证”” - 从哪里来?直接来自推特?还是从您的应用中,在用户返回那里之后?
-
问题已更新,希望这只是我忘记做的蠢事:)
-
我不明白您为什么希望 this 步骤将用户重定向到任何地方......据我所知,这只是您在后台发出的 POST 请求文档。
-
此步骤不会重定向用户,它只是生成一个令牌,用于
authorize下一步。据我所知,授权步骤没有指定返回 url 以将用户发送回原始网页的地方......所以我假设在 auth_token 步骤中指定的回调 url 将在成功后使用authorize? -
您找到解决方案了吗?我曾经让它工作,但现在我需要更改我的回调 url,我遇到了同样的问题....
标签: c# twitter oauth twitter-oauth