部署后的Streamlit应用中Google OAuth功能异常求助
部署Streamlit应用后Google OAuth登录错误排查建议
我部署后的Streamlit应用遇到Google OAuth错误,错误截图如下:
已在secrets和.toml文件中添加以下配置:
[installed] GOOGLE_CLIENT_ID="some client code from Google" GOOGLE_CLIENT_SECRET="some client code from Google" GOOGLE_REDIRECT_URI="https://agilerap.streamlit.app/Candidate_Login"
该登录功能在本地运行完全正常,但部署后出现上述错误,求解决建议。
解决建议:
检查Google Cloud控制台的重定向URI配置
登录Google Cloud控制台,找到你的OAuth 2.0客户端ID,确保已添加https://agilerap.streamlit.app/Candidate_Login到已授权的重定向URI列表中。注意:路径必须完全匹配,包括大小写,不能有多余斜杠或空格。确认.toml配置格式正确性
检查Streamlit secrets的语法:- 统一使用双引号或单引号,不要混合
- 避免多余的逗号、空格
- 重定向URI末尾不要加斜杠(除非实际路径本身包含)
验证Streamlit Cloud的secrets加载情况
在应用中添加调试代码,确认配置是否正确加载:import streamlit as st st.write("Client ID:", st.secrets["installed"]["GOOGLE_CLIENT_ID"]) st.write("Redirect URI:", st.secrets["installed"]["GOOGLE_REDIRECT_URI"])部署后查看输出,排除配置未加载的问题。
确认OAuth客户端类型
确保在Google Cloud创建的是Web应用类型的OAuth客户端ID,而非桌面应用类型——线上Web环境不适用桌面应用的客户端配置。排查应用路由路径
确认应用中Candidate_Login页面的路由路径和重定向URI的路径完全一致,比如通过st.page_link或st.navigation定义的路径,不能有大小写错误或额外层级。清除浏览器缓存
尝试用无痕模式打开应用,排除旧OAuth会话缓存导致的错误。
内容的提问来源于stack exchange,提问作者Nitesh Addagatla
相关产品推荐
相关产品推荐

