ruby-on-rails - 收到“未找到”。身份验证通道。带有命名空间控制器的 Devise omniauthable 错误
问题描述
在我尝试通过命名空间控制器使用 oauth 之前,我从未收到此错误 - 不确定这是巧合还是这里有问题。任何帮助表示赞赏!
以下是一些相关的代码片段。
路线.rb
devise_for :users,
class_name: 'Accounts::User',
path: 'accounts',
controllers: {
omniauth_callbacks: 'accounts/omniauth_callbacks',
registrations: 'accounts/registrations'
}
帐户/用户.rb
devise :database_authenticatable, :registerable,
:recoverable, :rememberable, :validatable, :omniauthable,
omniauth_providers: %i[facebook google_oauth2]
帐户/omniauth_callbacks_controller.rb
module Accounts
class OmniauthCallbacksController < Devise::OmniauthCallbacksController
def facebook
sign_in user_from_auth_hash
redirect_to root_url, notice: 'Facebook authentication successful.'
end
end
end
初始化程序/devise.rb
config.omniauth_path_prefix = '/accounts/auth'
config.omniauth :facebook, ENV['FACEBOOK_OAUTH_ID'],
ENV['FACEBOOK_OAUTH_SECRET']
让我知道是否还有其他要添加的内容。谢谢!
解决方案
推荐阅读
- django - Django 迁移引发 TypeError: Unknown option(s) for sync_cassandra 命令
- sql - 如果 sqlite 数据库包含具有相同名称/功能的多行,如何选择特定行
- c# - 如何在需要大量时间的循环中实现多线程方法?
- asp.net - 使用版本 3 进行 Npoco 调试和分析
- c++ - 计数具有最小 N 的设置位数
- npm - 安装节点包时出现问题,node-gyp 重建
- ios - 如何使用 Swift 重新加载 UITableView 标头
- javascript - JQuery使用data-tab属性获取活动li选项卡的值或文本
- dart - 如何使 FadeInImage 循环?
- batch-file - 从完全独立的 PC 连接到 PC 并在 PC 上运行程序