curl post测试oauth 2.0在http示例中没有工作

时间:2011-10-18 03:50:55

标签: post curl oauth get oauth-2.0

我正在尝试了解Google身份验证如何与OAuth 2.0配合使用。他们在this link给出了一些例子。

我遇到了第一步的问题。我可以在浏览器中执行此http请求:

https://accounts.google.com/o/oauth2/auth?scope=https://www.google.com/m8/feeds&client_id=21302922996.apps.googleusercontent.com&redirect_uri=https://www.example.com/back&response_type=token

并且工作正常。

当我尝试将其转换为curl GET操作时,

curl https://accounts.google.com/o/oauth2/auth?scope=https://www.google.com/m8/feeds&client_id=21302922996.apps.googleusercontent.com&redirect_uri=https://www.example.com/back&response_type=token

我得到的回复告诉我有OAuth 2.0 error: invalid_request

将其转换为POST,我无法使此操作正常工作。

curl http://accounts.google.com/o/oauth2/auth  -d “scope=https://www.google.com/m8/feeds&client_id=21302922996.apps.googleusercontent.com&redirect_uri=https://www.example.com/back&response_type=token” 

回复是文件已移动。

如果我试试这个,我会得到类似的结果。

curl http://accounts.google.com/o/oauth2/auth  -data-urlencode “scope=https://www.google.com/m8/feeds&client_id=21302922996.apps.googleusercontent.com&redirect_uri=https://www.example.com/back&response_type=token”

之前我的代码中从未使用过curl或OAuth,因此我想了解其中的一些基础知识。有人可以告诉我我的GET和POST有什么问题吗?

1 个答案:

答案 0 :(得分:2)

我对你没有一个肯定的答案,但是我正在为Instagram做类似的事情,有一件事让我感到困惑的是我的重定向网址看起来和Instagram预期的一样,但我一直在错误。

和你一样,当我'手动编码'重定向网址时,我得到了我预期的结果,但我对身份验证网址的自动调用失败了。原来我的&符号是一个编码的网址,Instagram与重定向网址相比,看到它们不相同。我不确定这是否会让你更接近答案,但我想我会分享我的经验,因为你的问题让我想起了我所处的情况。祝你好运。