- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试按照 Railscast #360 中的描述实现 omniauth-facebook,但遇到了很大的障碍。当我单击登录链接时,我得到了所需的弹出窗口,要求我输入我的 facebook 凭据,但是当我提交时,我收到 OmniAuth::Strategies::OAuth2::CallbackError 错误。在 apache 日志中,打印如下:(facebook) Authentication failure! invalid_credentials: OmniAuth::Strategies::OAuth2::CallbackError, OmniAuth::Strategies::OAuth2::CallbackError
相关代码如下:
omniauth.rb
OmniAuth.config.logger = Rails.logger
Rails.application.config.middleware.use OmniAuth::Builder do
provider :facebook, ENV['FACEBOOK_APP_ID'], ENV['FACEBOOK_SECRET']
end
sessions_controller.rb
class SessionsController < ApplicationController
def create
user = User.from_omniauth(env["omniauth.auth"])
session[:user_id] = user.id
redirect_to root_url
end
def destroy
session[:user_id] = nil
redirect_to root_url
end
end
application.html.erb
<div id="fb-root"></div>
<script>
window.fbAsyncInit = function() {
FB.init({
appId : '(**my app id**)', // App ID
status : true, // check login status
cookie : true // enable cookies to allow the server to access the session
});
$('#sign_in').click(function(e) {
e.preventDefault();
return FB.login(function(response) {
if (response.authResponse) {
return window.location = '/auth/facebook/callback';
}
});
});
return $('#sign_out').click(function(e) {
FB.getLoginStatus(function(response) {
if (response.authResponse) {
return FB.logout();
}
});
return true;
});
};
</script>
我是不是漏掉了一些简单的东西?最近几天我一直在寻找解决方案。
最佳答案
似乎 omniauth-facebook v1.4.1 引入了 CSRF 问题。一个临时修复方法是回滚到 v1.4.0。在您的 Gemfile 中,将 omniauth-facebook 行更改为:
gem 'omniauth-facebook', '1.4.0'
我已经报告了这个问题:https://github.com/mkdynamic/omniauth-facebook/issues/73
关于ruby-on-rails - Omniauth-facebook 不断报告 invalid_credentials,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11597130/
我有 3 个网络应用程序 - A、B 和 C。应用程序 A 包含用户数据库。如果访问 App B 和 App C,我希望用户被重定向到 App A 进行身份验证,然后返回到他们尝试访问的任何应用程序。
我完全按照此处所示设置 omniauth-password: https://github.com/namick/omniauth-password 但是,每次我尝试登录时,我都会收到 invalid
我正在尝试按照 Railscast #360 中的描述实现 omniauth-facebook,但遇到了很大的障碍。当我单击登录链接时,我得到了所需的弹出窗口,要求我输入我的 facebook 凭据,
我将 jwt-auth 用于带有 laravel 的 auth API 并编写以下代码。 我的注册 API 运行良好,但我的登录 API 返回 invalid_credentials 错误。为什么?
我已经将 instagram omniauth 集成工作了几年,很长一段时间我都没有改变任何东西,但我的客户在连接他们的 Instagram 帐户时偶尔会突然出现错误: Started GET "/a
我一直在使用 OmniAuth 0.2.3 和 Rails 3.0.7 进行 facebook 身份验证。我已经分别获得了本地主机和托管环境的应用程序 ID。在 localhost 中测试时,一切都很
我使用 OmniAuth Identity 进行正常登录。 Rails 3.2.3 和 Ruby 1.9.3p194。 目前,当现有用户尝试使用无效凭据登录时,我会收到以下错误: Started PO
我不知道是什么导致了这个问题,使用 Firebase 的 FB 登录工作正常。但现在我遇到了 INVALID_CREDENTIALS 以下错误。 我尝试从 Facebook 删除应用程序并再次运行,然
使用的包是:https://github.com/coderello/laravel-passport-social-grant 我已经按照以下位置提供的教程进行了所有预期更改: https://me
Facebook 登录没有问题,但 firebase 无法获取 Facebook 帐户详细信息。 我已经检查了 Firebase 网站中 INVALID_CREDENTIALS 的含义 我检查了 Fa
目前我正在处理 Rails 4 项目,现在我必须链接/连接另一个应用程序(不是 sso,而是用于访问 API),比如 example.com。 (注意 example.com 使用三足式 oauth
我已经关注了 Web: Getting Started Samples .当调用函数 AdobeCreativeSDK.init 时,它会调用 https://adobeid-na1.services
我正在尝试使用 omniauth-steam gem 通过 Steam 连接用户并检索用户的 ID64。我正在使用本地网络上的服务器运行 Ruby on Rails 5.0.1,该服务器运行 Apac
我是一名优秀的程序员,十分优秀!