Reddit API的redirect_uri参数无效

时间:2013-08-27 18:17:42

标签: ruby-on-rails api devise oauth-2.0 reddit

我正在尝试使用Devise&和Reddit实现oAuth。 omn​​iauth-reddit gem。

似乎正在通过当地的网址和api key fine。

https://ssl.reddit.com/api/v1/authorize?response_type=account&client_id=API_KEY&redirect_uri=http%3A%2F%2F127.0.0.1%3A3000%2Fusers%2Fauth%2Freddit%2Fcallback&scope=identity

然而,我得到的回应是:

forbidden (reddit.com)

you are not allowed to do that
— invalid redirect_uri parameter.

我已经尝试将redirect_uri设置为127.0.0.1:3000以及托管网址(heroku),但无济于事。

所以现在我不明白我是否仍然只是给他们错误的URL或传递一个不应该存在的参数。

感谢您的帮助!

2 个答案:

答案 0 :(得分:4)

确定。所以我刚用Reddit API想出了一个恼人的有趣的小怪癖:

原来,如果— invalid redirect_uri parameter无效,它也会返回client ID错误!很明显,我认为client_idsecret

是一回事

<强> NOPE

相反,它是位于应用程序名称正下方的易于遗漏的ID。一旦你使用正确的ID,一切正常。 。

counter-intuitive

答案 1 :(得分:2)

OAuth服务器(几乎总是)要求您使用它们注册回调地址。你做到了吗?他们检查您在redirect_uri发送的内容是否与您输入的内容相符。在Reddit:

刚试过它。您必须输入确切的回调网址:

http://127.0.0.1:3000/users/auth/reddit/callback

如果您错过了一个细分,则会报告该错误。