Back to directory
szTheory avatar

relyra

Strict-by-default SAML 2.0 Service Provider library for Elixir and Phoenix.. Read more below about its uses, features, and usage.

Clone repository

git clone https://github.com/szTheory/relyra.git

0

Stars

0

Forks

0

Watchers

MIT

License

Relyra — Enterprise SAML, calmly verified.

Relyra

Hex.pm Documentation CI License: MIT Elixir

Relyra is a strict-by-default SAML 2.0 Service Provider library for Elixir and Phoenix. Requires Elixir ~> 1.19 (see mix.exs). It is for teams that need enterprise SSO without becoming SAML experts.

Add the dependency:

{:relyra, "~> 1.5"}

Published docs: hexdocs.pm/relyraGetting Started is the hexdocs home page; the README is the GitHub evaluator router.

Quick Look

connection =
  Relyra.Provider.apply_defaults(:okta, [
    sp_entity_id: "https://sp.example.com/metadata",
    acs_url: "https://sp.example.com/saml/acs",
    idp_sso_url: "https://example.okta.com/app/.../sso/saml",
    idp_certificates: ["-----BEGIN CERTIFICATE-----..."]
  ])

Presets fill safe defaults underneath — see the Okta runbook for the full receipt.

Start Here

Use one Day-1 route:

  1. Browse the documentation overview — Day-1, Day-2, and Reference sections.
  2. Install the library and scaffold the host app with mix relyra.install.
  3. Follow Getting Started.
  4. Prove a local sign-in with the Relyra.TestSupport macro (setup_saml_connection/2, post_saml_response/2) — see Getting Started §3.
  5. Choose exactly one first-class provider runbook.
  6. Return to the production follow-ons after the first provider is working.

The README is the router. The full onboarding narrative lives in guides/getting_started.md.

If you want the high-level map of what this library is helping you get done, read Jobs To Be Done And User Flows after Getting Started.

Batteries Included Support

Relyra ships 4 first-class presets plus a generic SAML runbook covering 7 IdP families.

First-class batteries-included support (shipped preset module + verified runbook):

  • Okta
  • Microsoft Entra ID
  • Google Workspace
  • ADFS

In this repo, "batteries included" means the provider has a shipped preset module, a repo-native runbook, provider-specific field vocabulary, and Day-1 guidance that ends in a concrete receipt.

Use these runbooks only after you complete the local TestSupport proof in Getting Started:

Custom SAML And Generic Runbook Providers

  • Generic SAML runbook: Supported for IdP families without a first-class preset. The operator runbook at guides/recipes/generic_saml.md covers Ping, OneLogin, Shibboleth, Keycloak, IBM Security Verify, CyberArk, and Oracle Access Manager with vendor decoder tables and field-mapping guidance. Use it after the local TestSupport proof and before you start translating your provider's admin vocabulary.
  • Custom SAML: Supported when you bring your own IdP-specific field mapping and operator verification beyond the generic runbook tables.
  • Not yet shipped: Any provider without a shipped preset module and verified runbook is not first-class batteries-included support.

Relyra does not claim batteries-included support beyond the four first-class presets and the generic SAML runbook families named above.

What Ships In The Library

  • Strict SP-initiated login and ACS validation.
  • Hardened XML, signature, and protocol checks.
  • Provider presets for Okta, Microsoft Entra ID, Google Workspace, and ADFS, plus a generic SAML runbook for seven additional IdP families.
  • Relyra.TestSupport and Relyra.TestSupport.FakeIdP for local proof.
  • mix relyra.install for minimal host-app scaffolding.
  • Optional LiveAdmin, metadata lifecycle, certificate lifecycle, telemetry, audit seams, scheduled refresh, and diagnostic surfaces for later-stage operator workflows.

What Does Not Ship

  • OIDC or OAuth flows.
  • A hosted broker runtime.
  • SCIM lifecycle ownership.
  • First-class batteries-included support for providers beyond the four shipped presets and the generic SAML runbook families.

Day-2 And Operator Guides

These surfaces matter after Day-1, but they should not compete with onboarding:

LiveAdmin is optional. Metadata refresh, certificate rollover, audit review, telemetry wiring, and diagnostic bundles belong after the first successful provider login, not before it.

Releases

Jun 14, 2026

Download .zip

1.8.1 (2026-06-14) Bug Fixes

brandbook: integrated typemark as primary logo + dark-mode rendering (#38) (2156562)

Jun 14, 2026

Download .zip

1.8.0 (2026-06-14) Features

demo: FakeIdP browser-login proof + hardening (Phase 57/57.1) (#35) (9b72d1e)

Jun 13, 2026

Download .zip

1.7.0 (2026-06-13) Features

v1.7 Adoption Evidence Demo (LedgerLoop runnable demo app) (#31) (b66722d)

May 29, 2026

Download .zip

1.6.0 (2026-05-29) Features

adoption: Phase 50 golden host journeys and Keycloak CI lane (b21bdbb) adoption: Phase 50 golden host journeys and Keycloak CI lane (fb105da)

Bug Fixes

adoption: CI warn...

May 28, 2026

Download .zip

1.5.4 (2026-05-28) Bug Fixes

ci: auto-dispatch Hex publish after release-please automerge (e50dfd5) ci: auto-dispatch Hex publish after release-please automerge (39bbc21)