尝试使用 Google Oauth 登录时,我遇到 404 错误“未找到。身份验证通路”。这仅在一个月前在我的网站上有效,并且我没有更改任何应该影响身份验证的内容。我已经看过其他几篇关于此的帖子,但在我的情况下似乎没有一个有效。
初始化程序/devise.rb
Devise.setup do |config|
config.omniauth :google_oauth2, ENV['GOOGLE_OAUTH_CLIENT_ID'], ENV['GOOGLE_OAUTH_CLIENT_SECRET']
.
.
.
宝石文件
gem 'devise', github: 'heartcombo/devise'
gem 'omniauth', '~> 1.6', '>= 1.6.1'
gem 'omniauth-google-oauth2'
gem "omniauth-rails_csrf_protection"
路线.rb
devise_for :users, controllers: { omniauth_callbacks: 'users/omniauth_callbacks' }
devise_scope :user do
get 'users/sign_in', to: 'users/sessions#new'
get 'users/sign_out', to: 'users/sessions#destroy'
end
看法
<%- if devise_mapping.omniauthable? %>
<%- resource_class.omniauth_providers.each do |provider| %>
<% if provider = "google_oauth2" %>
<%= link_to "Sign in with Google", omniauth_authorize_path(resource_name, provider), method: :post, class: "oauth-link" %><br />
<% else %>
.
.
.