34 lines
1001 B
Python
34 lines
1001 B
Python
import os
|
|
from authlib.integrations.starlette_client import OAuth
|
|
from starlette.config import Config
|
|
|
|
# Load config
|
|
config = Config('.env')
|
|
|
|
# Initialize OAuth
|
|
oauth = OAuth(config)
|
|
|
|
# Register Google OAuth
|
|
oauth.register(
|
|
name='google',
|
|
client_id=os.getenv('GOOGLE_CLIENT_ID'),
|
|
client_secret=os.getenv('GOOGLE_CLIENT_SECRET'),
|
|
server_metadata_url='https://accounts.google.com/.well-known/openid-configuration',
|
|
client_kwargs={
|
|
'scope': 'openid email profile'
|
|
}
|
|
)
|
|
|
|
# Register Microsoft Entra ID (Azure AD) OAuth
|
|
# Use 'common' for multi-tenant + personal accounts, or 'consumers' for personal accounts only
|
|
tenant_id = os.getenv('AZURE_TENANT_ID', 'common')
|
|
oauth.register(
|
|
name='azure',
|
|
client_id=os.getenv('AZURE_CLIENT_ID'),
|
|
client_secret=os.getenv('AZURE_CLIENT_SECRET'),
|
|
server_metadata_url=f'https://login.microsoftonline.com/{tenant_id}/v2.0/.well-known/openid-configuration',
|
|
client_kwargs={
|
|
'scope': 'openid email profile'
|
|
}
|
|
)
|