FastAPI Google登录切换账号时自动登录旧账号问题求助
解决Google身份验证切换账号自动登录旧账号的问题
这个问题是因为Google OAuth默认会复用已登录的会话,要强制用户选择账号,只需在授权跳转时添加prompt参数并设置为select_account。
修改后的/login端点代码如下:
@app.route('/login') async def login(request: Request): # absolute url for callback redirect_uri = request.url_for('auth') # 添加prompt参数强制选择账号 return await oauth.google.authorize_redirect( request, redirect_uri, prompt="select_account" )
原理说明:
prompt是OAuth 2.0标准参数,Google OAuth支持该参数- 设置为
select_account时,Google会强制弹出账号选择界面,无论之前是否有登录会话 - 也可以设置为
consent,会同时要求用户重新授权,但select_account更贴合切换账号的需求
内容的提问来源于stack exchange,提问作者ali kemal agirman
相关产品推荐
相关产品推荐

