gpt4 book ai didi

ruby-on-rails - 为什么 omniauth 初始化两次?

转载 作者:行者123 更新时间:2023-12-04 07:37:42 24 4
gpt4 key购买 nike

我正在尝试向我的网站添加 Facebook 身份验证。到目前为止,我已经添加了:

Gemfile

gem 'omniauth-facebook', '1.4.0'

配置/初始化程序/omniauth.rb
Rails.application.config.middleware.use OmniAuth::Builder do
provider :facebook, 'XXXXXXXXXXXX', 'XXXXXXXXXXXXXXXXXXX', {:provider_ignores_state => true}
end

config/routes.rb
match '/auth/:provider/callback', :to => 'sessions#create', as: 'callback'

应用程序/ Controller /sessions_controller.rb
class SessionsController < ApplicationController
def create
render :text => request.env['omniauth.auth'].inspect
end
end

我的问题是初始化似乎运行了两次。在 Rails 服务器的日志中,我看到:
(facebook) Callback phase initiated.
(facebook) Callback phase initiated.
(facebook) Authentication failure! invalid_credentials: OAuth2::Error, :
{"error":{"message":"This authorization code has been used.","type":"OAuthException","code":100}}
(facebook) Authentication failure! invalid_credentials: OAuth2::Error, :
{"error":{"message":"This authorization code has been used.","type":"OAuthException","code":100}}

当我跑 rake middleware我看到 OmniAuth::Builder两次。任何建议将不胜感激。

最佳答案

Richlewis指的是,如果您将 Devise 与 OmniAuth 一起使用,您需要跳过额外的 omniauth.rb 初始值设定项,并在 initializers/devise.rb 中简单地 config.provider "KEY", "SECRET",然后继续您的实现。

关于ruby-on-rails - 为什么 omniauth 初始化两次?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16568232/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com