#ruby-on-rails #oauth-2.0 #devise #google-oauth #omniauth-google-oauth2
Вопрос:
При попытке войти в систему с помощью Google Oauth я сталкиваюсь с ошибкой 404 «Не найдено. Проверка подлинности passthru». Это сработало всего месяц назад на моем сайте, и я не изменил ничего, что должно было повлиять на аутентификацию. Я видел несколько других сообщений об этом, но ни одно из них, похоже, не сработало в моем случае.
инициализаторы/devise.rb
Devise.setup do |config|
config.omniauth :google_oauth2, ENV['GOOGLE_OAUTH_CLIENT_ID'], ENV['GOOGLE_OAUTH_CLIENT_SECRET']
.
.
.
gemfile
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 %>
.
.
.