- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我收到以下错误:
"error": {
"message": "Invalid redirect_uri: Given URL is not allowed by the Application configuration.",
"type": "OAuthException",
"code": 191
}
这是众所周知的,我找到了许多不同的解决方案来解决它,不幸的是,其中任何一个都对我有用。
我试图让它在 localhost:3000
中本地运行,但无法使其工作。
我的配置是普通配置:
config/initializers/devise.rb
config.omniauth :facebook, '396783260390829', 'a504939e60c3410ed1becc44f41d4b94', {client_options: {ssl: {ca_file: Rails.root.join('lib/assets/cacert.pem').to_s}}}
Facebook 配置:
Routes.rb
devise_for :users, :controllers => { :omniauth_callbacks => "users/omniauth_callbacks" }
devise_scope :user do
get '/users/auth/:provider' => 'users/omniauth_callbacks#passthru'
end
我已经尝试过以下方法:
方法一:
OmniAuth.config.full_host = '`http://localhost:3000/`'
这是我得到的最接近的,因为它将我重定向回来,但地址是 http://localhost:3000//users/auth/facebook/callbacks?xxx
我已经尝试过没有最后一个斜杠 OmniAuth.config.full_host = 'http://localhost:3000'
,但后来我得到了 191。
方法二
正常的初始化器,没有 hack。
方法 3
在 Facebook 配置页面中设置域。
方法 4
将应用程序域设置为本地主机
方法 5
将 Facebook 配置中的网站设置为 http://localhost:3000/users/auth/facebook
方法 6
尝试使用我的 ip 地址而不是 localhost 并得到相同的错误,但在 OmniauthCallbacksController
的失败 中,但在 graph.facebook.com 中/oauth/authorize?
redirect_uri=http://localhost:3000/users/auth/facebook/callback
所有方法的结果
在所有情况下,除了我内联解释的那些我都得到了
OAuthException 191
在我创建的用于处理回调的 OmniauthCallbackController 的失败方法中。
如果您知道其他选择或想看到任何其他帮助我的东西,请随时提问或回答。
最佳答案
Facebook 不允许重定向地址为 localhost。您必须使用真实 IP 地址或命名地址。查看类似问题的答案:Facebook app - login through omniauth - OAuthException 191
关于facebook - OmniAuth + Devise - Facebook 提供商 - OAuthException 191,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13301011/
我在前几天的测验中遇到了以下问题。 Consider the code fragment (assumed to be in a program in which all variables are
关闭。这个问题需要更多focused .它目前不接受答案。 想改进这个问题吗? 更新问题,使其只关注一个问题 editing this post . 关闭 9 年前。 Improve this qu
我刚开始接触 Objective-C,一般来说是 C,所以我想这也是一个 C 问题。它更像是一个为什么的问题,而不是一个如何做的问题问题。 我注意到,在除以两个整数时,小数部分向下舍入为 0,即使结果
我是一名优秀的程序员,十分优秀!