从应用程序注销,但在使用Google身份验证时无法从Google帐户注销

时间:2019-05-30 04:18:53

标签: ruby-on-rails ruby authentication rubygems google-oauth2

我在Rails应用中使用google进行登录身份验证,我在注销时遇到问题,它将重定向到我的索引页面,但无法从google帐户中注销
我正在进行首次登录身份验证,请有人帮忙

提前谢谢

在这里我写错了我的代码

def create
    @user = Authentication.find_or_create_from_auth_hash(request.env["omniauth.auth"])
    session[:user_id] = @user.id
    redirect_to '/'
end
def destroy
    session[:user_id] = nil
    redirect_to '/login'
end

1 个答案:

答案 0 :(得分:0)

这不是它的工作方式。

考虑这样做:打开Rails应用程序->使用Google登录->您将看到Rails应用程序仪表板->现在打开一个新标签并打开google.com->从那里注销->现在切换回您的rails应用程序并重新加载页面。

即使您已退出Google,也仍然登录了Rails应用。

这意味着您的Rails应用并不完全是您的Google帐户。他们俩都是独立的。您的rails应用程序(通过Omniauth)仅使用OAuth API请求Google数据,该API将对该应用程序进行授权,然后发送访问令牌,并使用此令牌获得google数据(例如电子邮件)等。

但是,如果您仍然想从Google帐户中注销用户,则可以使用this answer中的替代方法以及this thread中的多个答案。

相关问题