Skip to content
Executive summary

Federated identity lets users authenticate to Ripple Custody through an external OpenID Connect identity provider, with Keycloak acting as the broker for the Custody realm.

  • OIDC federation changes how users authenticate; it does not replace Custody authorization or signature requirements.
  • The Keycloak provider alias must match the provider ID used in the user's loginIds.
  • Mapper configuration determines the user identifier that Ripple Custody receives in the Keycloak-issued token.
  • Session lifetime, session limiting, and logout behavior are controlled by Keycloak and your upstream identity provider configuration.
Why this matters

Federated login depends on correct identity-provider configuration, Keycloak mapper configuration, and Custody user provisioning. Treat SSO as an identity mapping project: choose stable identifiers, configure mappers deliberately, and test the full login path before enabling it for production users.

How federation works

Custody APIsExternal OIDC providerKeycloak Metaco realmCustody UICustody APIsExternal OIDC providerKeycloak Metaco realmCustody UIUserStart sign inRedirect to KeycloakOIDC authorization code flowID token and claimsApply provider mappersKeycloak-issued tokenCall APIs with tokenApply Custody authorization and signature checksUser
Custody APIsExternal OIDC providerKeycloak Metaco realmCustody UICustody APIsExternal OIDC providerKeycloak Metaco realmCustody UIUserStart sign inRedirect to KeycloakOIDC authorization code flowID token and claimsApply provider mappersKeycloak-issued tokenCall APIs with tokenApply Custody authorization and signature checksUser

Keycloak is the broker between Ripple Custody and the external identity provider. The upstream provider authenticates the user and emits claims. Keycloak maps those claims to a local Keycloak user and issues the token used by Ripple Custody.

Login and logout checkpoints

The exact screens depend on your identity provider, but the control points are consistent.

FlowCheckpointWhat to verify
LoginBrowser redirects to Keycloak.The Keycloak issuer, callback URL, TLS certificate, and realm endpoint are reachable.
LoginKeycloak redirects to the upstream OIDC provider.The provider discovery document, client ID, redirect URI, scopes, and required claims are correct.
LoginKeycloak exchanges the authorization code server-side.Keycloak can reach the provider token endpoint, validate TLS, and authenticate with the configured client secret.
LoginRipple Custody receives a Keycloak-issued token.The token subject, issuer, audience, and mapped login ID match the Custody user.
LogoutThe local application session is cleared.The user can no longer call protected UI routes with the old browser session.
LogoutKeycloak token/session state is revoked or expired.Token revocation and session lifetime settings match your security requirements.

Upstream identity-provider logout support varies. At minimum, plan for local Keycloak session termination. If you require upstream SSO logout as well, verify that your identity provider supports the logout behavior you expect.

Authentication versus authorization

AreaWhat SSO controlsWhat stays in Ripple Custody
AuthenticationHow a user signs in through an external identity provider.API authentication and signing still follow the documented Custody flows.
User identityWhich external identifier maps to a Custody user login ID.User records, roles, domains, and public keys.
AuthorizationNothing by itself.Custody authorization and signature requirements remain separate from federation.
Session behaviorKeycloak and upstream IdP session lifetimes, session limits, and logout behavior.Custody intent lifecycle and approval state.

SSO topics

TaskStart here
Plan an SSO rolloutPlan identity federation
Configure an OIDC provider in KeycloakConfigure OIDC federation in Keycloak
Limit concurrent Keycloak sessionsKeycloak session limiting
Configure frontend inactivity logoutKeycloak inactivity timeout
Investigate SSO login failuresTroubleshoot SSO
Review deployment configuration areasKeycloak configuration

Supported federation path

Use OpenID Connect for federated identity. The public SSO documentation covers OIDC federation through Keycloak. SAML federation is not covered in this section.

Troubleshooting data

When troubleshooting SSO with Ripple or an identity-provider vendor, share only the information needed to prove the failure point:

  • Discovery document reachability.
  • Non-secret client settings, such as redirect URI, scopes, issuer, and provider alias.
  • Decoded token headers and claims with secrets, signatures, and personal data removed.
  • Keycloak and application log snippets with tokens and secrets redacted.

Do not share client secrets, private keys, full JWTs, or unredacted identity data in tickets or chat.