squirrels.auth or the squirrels module.
Constructor
Creates aProviderConfigs object.
Copy
def __init__(
self, *, client_id: str, client_secret: str, server_url: str,
server_metadata_path: str = "/.well-known/openid-configuration",
client_kwargs: dict = {},
get_user: Callable[[dict], RegisteredUser]
) -> None:
Hide arguments
Hide arguments
OAuth client ID
OAuth client secret
URL of the OAuth server
Path to the OAuth server metadata
Additional keyword arguments for the OAuth client
Function to convert OAuth user info to RegisteredUser
Example
Copy
from squirrels import auth, arguments as args
@auth.provider(
name="google", label="Google",
icon="https://www.google.com/favicon.ico"
)
def google_auth_provider(sqrl: args.AuthProviderArgs) -> auth.ProviderConfigs:
def get_user(user_info: dict) -> auth.RegisteredUser:
# Convert OAuth user info to RegisteredUser
pass
provider_configs = auth.ProviderConfigs(
client_id=sqrl.env_vars["GOOGLE_CLIENT_ID"],
client_secret=sqrl.env_vars["GOOGLE_CLIENT_SECRET"],
server_url="https://accounts.google.com",
client_kwargs={"scope": "openid email profile"},
get_user=get_sqrl_user
)
return provider_configs