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