Module: Persona::Oidc
- Defined in:
- lib/persona/oidc.rb,
lib/persona/oidc/verifier.rb,
lib/persona/oidc/link_store.rb
Overview
OIDC account linking — the verification half of binding a persona to an external identity provider. persona-protocol owns the flow (docs/spec §7); the application registers one provider object per IdP via Persona.config.register_oidc_provider, and gains new providers by updating this gem and registering them — not by reimplementing the flow.
A provider is any object exposing:
name -> String stable identifier stored on account
bindings ('google', 'uniba-auth', ...)
authorize(state) -> AuthorizeStart the authorize URL plus any per-flow
secrets (PKCE verifier, nonce) to
stash with the state
verify(params, stash = nil) -> Identity | nil callback verification,
using the stashed secrets
Persona::Oidc::Verifier is the production implementation (code exchange + JWKS validation); StubProvider is the local stand-in.
Defined Under Namespace
Classes: AuthorizeStart, Identity, LinkStore, NetHttpClient, StubProvider, Verifier