我在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
答案 0 :(得分:0)
这不是它的工作方式。
考虑这样做:打开Rails应用程序->使用Google登录->您将看到Rails应用程序仪表板->现在打开一个新标签并打开google.com->从那里注销->现在切换回您的rails应用程序并重新加载页面。
即使您已退出Google,也仍然登录了Rails应用。
这意味着您的Rails应用并不完全是您的Google帐户。他们俩都是独立的。您的rails应用程序(通过Omniauth)仅使用OAuth API请求Google数据,该API将对该应用程序进行授权,然后发送访问令牌,并使用此令牌获得google数据(例如电子邮件)等。
但是,如果您仍然想从Google帐户中注销用户,则可以使用this answer中的替代方法以及this thread中的多个答案。