Omniauth Google Outh 2 продолжает перенаправлять на Google? - PullRequest
1 голос
/ 29 декабря 2011

У меня есть 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
...