Merge branch 'main' into litellm_fix_generic_sso

This commit is contained in:
Ishaan Jaff 2024-02-16 14:51:46 -08:00 committed by GitHub
commit 4d4653b619
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 6 additions and 0 deletions

View file

@ -133,6 +133,8 @@ The following can be used to customize attribute names when interacting with the
GENERIC_USER_ID_ATTRIBUTE = "given_name" GENERIC_USER_ID_ATTRIBUTE = "given_name"
GENERIC_USER_EMAIL_ATTRIBUTE = "family_name" GENERIC_USER_EMAIL_ATTRIBUTE = "family_name"
GENERIC_USER_ROLE_ATTRIBUTE = "given_role" GENERIC_USER_ROLE_ATTRIBUTE = "given_role"
GENERIC_SCOPE = "openid profile email" # default scope openid is sometimes not enough to retrieve basic user info like first_name and last_name located in profile scope
``` ```
- Set Redirect URI, if your provider requires it - Set Redirect URI, if your provider requires it

View file

@ -4565,6 +4565,7 @@ async def google_login(request: Request):
from fastapi_sso.sso.generic import create_provider, DiscoveryDocument from fastapi_sso.sso.generic import create_provider, DiscoveryDocument
generic_client_secret = os.getenv("GENERIC_CLIENT_SECRET", None) generic_client_secret = os.getenv("GENERIC_CLIENT_SECRET", None)
generic_scope = os.getenv("GENERIC_SCOPE", "openid email profile").split(" ")
generic_authorization_endpoint = os.getenv( generic_authorization_endpoint = os.getenv(
"GENERIC_AUTHORIZATION_ENDPOINT", None "GENERIC_AUTHORIZATION_ENDPOINT", None
) )
@ -4615,6 +4616,7 @@ async def google_login(request: Request):
client_secret=generic_client_secret, client_secret=generic_client_secret,
redirect_uri=redirect_url, redirect_uri=redirect_url,
allow_insecure_http=True, allow_insecure_http=True,
scope=generic_scope,
) )
with generic_sso: with generic_sso:
return await generic_sso.get_login_redirect() return await generic_sso.get_login_redirect()
@ -4765,6 +4767,7 @@ async def auth_callback(request: Request):
from fastapi_sso.sso.generic import create_provider, DiscoveryDocument from fastapi_sso.sso.generic import create_provider, DiscoveryDocument
generic_client_secret = os.getenv("GENERIC_CLIENT_SECRET", None) generic_client_secret = os.getenv("GENERIC_CLIENT_SECRET", None)
generic_scope = os.getenv("GENERIC_SCOPE", "openid email profile").split(" ")
generic_authorization_endpoint = os.getenv( generic_authorization_endpoint = os.getenv(
"GENERIC_AUTHORIZATION_ENDPOINT", None "GENERIC_AUTHORIZATION_ENDPOINT", None
) )
@ -4815,6 +4818,7 @@ async def auth_callback(request: Request):
client_secret=generic_client_secret, client_secret=generic_client_secret,
redirect_uri=redirect_url, redirect_uri=redirect_url,
allow_insecure_http=True, allow_insecure_http=True,
scope=generic_scope,
) )
verbose_proxy_logger.debug(f"calling generic_sso.verify_and_process") verbose_proxy_logger.debug(f"calling generic_sso.verify_and_process")
request_body = await request.body() request_body = await request.body()