Robine ID documentation
Build your OpenID Connect integration with confidence.
Robine ID is a file-configured OpenID Provider for trusted operators. It supports the Authorization Code flow, PKCE, signed ID tokens, UserInfo, logout, and hot-reloaded relying-application configuration.
Start here
Quick start
Begin with the discovery document. It is the canonical source for issuer metadata, endpoints, supported scopes, signing algorithms, and client authentication methods.
GET /default/.well-known/openid-configuration
Relying parties
Register an application
Store one JSON document per application in the configured applications directory. Changes are validated and activated atomically; an invalid edit leaves the last valid revision running.
{
"schema_version": 1,
"kind": "oidc_application",
"id": "example",
"name": "Example application",
"type": "public",
"redirect_uris": ["https://app.example.com/oidc/callback"],
"scopes": ["openid", "profile", "email"],
"grant_types": ["authorization_code"],
"authentication_method": "none",
"pkce_required": true,
"nonce_required": true
}
Confidential applications may use client_secret_basic
or client_secret_post. A secret can be a literal string or an environment
reference. Keep examples separate from production application files.
Desired state
Configuration
Root configuration
Defines issuers, identities, claims, branding, authentication policy, storage, and telemetry.
ROBINE_ID_CONFIG
Application directory
Contains independently managed relying-application documents and reloads automatically.
ROBINE_ID_APPLICATIONS_DIR
Secret handling
Literal strings work directly. Environment references keep deployment secrets outside Git.
SECRET_KEY_BASE
Safe activation
The complete candidate is validated before a new fingerprint becomes active.
mix robine_id.config.validate
Production
Operate the provider
/health/liveProcess liveness
/health/readyConfiguration and database readiness
/default/jwks.jsonPublic token-verification keys
/default/userinfoClaims for a valid bearer access token
SECRET_KEY_BASE.
Be explicit
MVP boundaries
The MVP is single-instance. Authorization codes, access-token grants, rate-limit counters, and authenticated-session registrations are held in memory and are invalidated by a restart.
Dynamic client registration, refresh tokens, MFA, federation, account recovery, token introspection, token revocation, distributed stores, and high availability are outside the MVP.