У меня есть Google Omniauth 2, который правильно авторизует, тянет электронную почту, создает пользователей и входит в систему.
Тем не менее, каждый раз, когда я выхожу из системы и нажимаю на ссылку «Войти в Google» - она перенаправляет меня на страницу «Разрешить доступ к Google» и заставляет меня снова ее одобрить, а затем входит в систему.
Это как Google работает? Есть ли способ передать область видимости, чтобы она не спрашивалась каждый раз?
Вот мой инициализатор omniauth
Rails.application.config.middleware.use OmniAuth::Builder do
provider :facebook, '####', '####', :scope => 'email,offline_access', :display => 'popup'
provider :google_oauth2, '####.apps.googleusercontent.com', '#####', { }
end
Вот мой контроллер сессий:
class SessionsController < ApplicationController
def create
auth = request.env["omniauth.auth"]
user = User.find_by_provider_and_uid(auth["provider"], auth["uid"]) || User.create_with_omniauth(auth)
session[:user_id] = user.id
#redirect_to root_url, :notice => "Signed in!"
redirect_back_or user
end
def destroy
session[:user_id] = nil
redirect_to root_url, :notice => "Signed out!"
end
end