add google login in streamlit app
Drop files here
or click to upload
import streamlit as st
from google_oauth import GoogleOAuth
# Initialize Google OAuth
oauth = GoogleOAuth(
client_id="YOUR_CLIENT_ID", # Get this from Google Cloud Console
client_secret="YOUR_CLIENT_SECRET", # Get this from Google Cloud Console
redirect_uri="http://localhost:8501", # Your redirect URI
additional_scopes=["https://www.googleapis.com/auth/userinfo.profile",
"https://www.googleapis.com/auth/userinfo.email"]
)
st.title("Google Login Demo")
# Initialize session state for user info
if 'user_info' not in st.session_state:
st.session_state.user_info = None
# Login button
if not st.session_state.user_info:
if st.button("Login with Google"):
# Redirect to Google login
oauth.redirect_to_google()
st.write("Please log in to continue")
else:
# Display user info
st.write(f"Welcome {st.session_state.user_info['name']}!")
st.write(f"Email: {st.session_state.user_info['email']}")
# Add logout button
if st.button("Logout"):
st.session_state.user_info = None
st.rerun()
# Handle OAuth callback
if oauth.is_callback():
# Get user info after successful login
user_info = oauth.get_user_info()
if user_info:
st.session_state.user_info = user_info
st.rerun()
Hi! I can help you with any questions about Streamlit and Python. What would you like to know?