forked from phoenix/litellm-mirror
build(auth.py): adding email / magic link based login for proxy ui
This commit is contained in:
parent
39a722bc9b
commit
abcd7cf54f
4 changed files with 82 additions and 0 deletions
39
ui/auth.py
Normal file
39
ui/auth.py
Normal file
|
@ -0,0 +1,39 @@
|
|||
"""
|
||||
Auth in user, to proxy ui.
|
||||
|
||||
Uses supabase passwordless auth: https://supabase.com/docs/reference/python/auth-signinwithotp
|
||||
|
||||
Remember to set your redirect url to 8501 (streamlit default).
|
||||
"""
|
||||
import streamlit as st
|
||||
from dotenv import load_dotenv
|
||||
load_dotenv()
|
||||
import os
|
||||
from supabase import create_client, Client
|
||||
|
||||
# Set up Supabase client
|
||||
url: str = os.environ.get("SUPABASE_URL")
|
||||
key: str = os.environ.get("SUPABASE_KEY")
|
||||
supabase: Client = create_client(url, key)
|
||||
|
||||
|
||||
def sign_in_with_otp(email: str):
|
||||
data = supabase.auth.sign_in_with_otp({"email": email})
|
||||
# Redirect to Supabase UI with the return data
|
||||
st.write(f"Please check your email for a login link!")
|
||||
|
||||
|
||||
# Create the Streamlit app
|
||||
def main():
|
||||
st.title("User Authentication")
|
||||
|
||||
# User email input
|
||||
email = st.text_input("Enter your email")
|
||||
|
||||
# Sign in button
|
||||
if st.button("Sign In"):
|
||||
sign_in_with_otp(email)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
Loading…
Add table
Add a link
Reference in a new issue