Skip to content

🔑 Authentication

Jumper secures access to its APIs and user interfaces using a robust JWT (JSON Web Token)-based authentication system.

By default, users must authenticate by providing a valid email and password authenticate.

Jumper also supports OAuth 2.0 / OpenID Connect (OIDC) authentication through external identity providers (e.g., Keycloak, Azure AD, Google, Okta, etc.), for better enterprise integration.

This page details the configuration for JWT and OAuth2/OIDC.

JSON Web Token (JWT) Configuration

You can customize the lifespan of the JWT tokens by modifying the following environment variables in the Carrot server's .env file:

Environment VariableDescriptionDefault Value
JWT_ACCESS_TOKEN_LIFETIMEThe lifespan of the JWT Access Token (in minutes).15
JWT_REFRESH_TOKEN_LIFETIMEThe lifespan of the JWT Refresh Token (in minutes).43200

OAuth 2.0 / OpenID Connect (OIDC) Configuration

To enable authentication via an external OAuth2/OIDC provider, you must set the environment variable OIDC_AUTHENTICATION=True in the Carrot server's .env file.

Subsequently, configure the provider-specific settings using the following environment variables:

Environment VariableDescriptionExample
OIDC_RP_CLIENT_IDThe Client ID provided by your OAuth2 Identity Provider (IDP).your-client-id
OIDC_RP_CLIENT_SECRETThe Client Secret provided by your IDP. Must be kept secure.your-client-secret
OIDC_OP_AUTHORIZATION_ENDPOINTThe URL of the IDP's Authorization Endpoint.https://provider.com/oauth2/ authorize
OIDC_OP_TOKEN_ENDPOINTThe URL of the IDP's Token Endpoint.https://provider.com/oauth2/ token
OIDC_OP_USER_ENDPOINTThe URL of the IDP's User Info Endpoint, used to retrieve user details.https://provider.com/oauth2/ userinfo
OIDC_OP_JWKS_ENDPOINTThe URL of the IDP's JWKS (JSON Web Key Set) Endpoint.https://provider.com/.well-known/jwks.json
OIDC_RP_SCOPESThe requested scopes during OAuth2 authentication. (Default: openid email profile)openid email profile
OIDC_RP_SIGN_ALGOThe signature algorithm used to verify the received JWT tokens (e.g., from the IDP). (Default: RS256)RS256
OIDC_USERNAME_ATTRIBUTEThe attribute from the user information claim (e.g., from the OIDC_OP_USER_ENDPOINT response) to be used as the Jumper username. (Default: preferred_username)email
OIDC_PROVIDER_NAMEThe display name for the OAuth2 provider, shown on the Jumper login interface. (Default: OIDC)My Company SSO

Once OAuth2 authentication is configured, users will be able to log in to Jumper using their account credentials from the specified Identity Provider.

Disabling Password Authentication

To disable the possibility of logging in using the traditional email and password method (forcing all users to use the configured OAuth2 provider), simply set the following environment variable:

bash
PASSWORD_BASED_AUTHENTICATION=False