我正在关注Simple OmniAuth的Railscast(文本格式为http://asciicasts.com/episodes/241-simple-omniauth)。一切都很完美,直到我添加Facebook登录。在尝试“使用Facebook登录”链接时,我收到以下错误。
无效的redirect_uri:应用程序配置不允许使用URL。
我的登录链接页面的网址是“http://mluton.example.com:3000/characters/”。在我的Facebook应用程序的网站设置中,我将网站URL设置为“http://mluton.myfitv.com:3000/auth/facebook/callback/”。尾部斜杠是必需的。这是omniauth在进行身份验证请求时将设置为回调的内容。但是,如果我查看页面上带有上述错误的URL,我会在最后看到这一点。
REDIRECT_URI = HTTP%3A%2F%2Fmluton.example.com%3A3000%2Fauth%2Ffacebook%2Fcallback
没有斜线。 omniauth和Facebook之间是否存在脱节或者我错过了什么?有没有办法覆盖默认回调网址omniuth生成?
答案 0 :(得分:0)
这需要一些试验和错误来自己工作。在回调网址的末尾尝试使用问号。这在开发者控制台中对我有用: HTTP://:3000 /用户/ AUTH /实/回调
答案 1 :(得分:0)
您不需要URL的路径组件。尝试将您的网站网址设置为your app's settings中的http://mluton.myfitv.com:3000/
。您还可以将“站点域”设置为mluton.myfitv.com
。
你可能会发现facebook的documentation on server-side authentication很有用,虽然它对于基于redirect_uri
的验证究竟如何运作的细节有点不足。