Skip to content
ricochet

Authentication

ricochet uses OpenID Connect (OIDC) for authentication, allowing you to integrate with any OIDC-compliant identity provider.

The OIDC provider must support:

  • Claims: email and profile
  • Grant Type: Authorization Code Flow

ricochet uses the subject identifier (sub) as the unique user ID. The email claim is collected for future SMTP integrations.

Add the following to your ricochet-config.toml:

[auth.oidc]
issuer_url = "https://auth.example.com/"
client_id = "your_client_id"
client_secret = "your_client_secret"
redirect_url = "https://your-ricochet-domain.com/oauth/callback"
display_name_claim = "preferred_username" # Optional, defaults to "preferred_username"
FieldRequiredDescription
issuer_urlYesYour OIDC provider’s issuer URL. Must start with https://
client_idYesOAuth client ID from your OIDC provider
client_secretYesOAuth client secret from your OIDC provider
redirect_urlYesCallback URL where users are redirected after authentication. Must be https://your-domain/oauth/callback
display_name_claimNoOIDC claim to use for display name. Defaults to preferred_username

By default, unauthenticated users can browse the “Explore” page and view public content. To require authentication for all access, enable the require_authentication option:

[auth]
require_authentication = true

Or via environment variable:

Terminal window
RICOCHET_AUTH__REQUIRE_AUTHENTICATION=true
SettingUnauthenticated User Access
require_authentication=falseCan view Explore page and public content only
require_authentication=trueRedirected to sign-in page on all routes

When require_authentication is enabled, users see a full-screen login page with SSO sign-in. When disabled (the default), unauthenticated users can browse public content but see a sign-in prompt in the sidebar to access protected features like deployment, API keys, and settings.