Skip to content

docs(v2): OIDC discovery_url + claims_mapping and Azure AD B2C guide#413

Open
montaro wants to merge 2 commits into
flipt-io:mainfrom
montaro:docs/oidc-discovery-url-claims-mapping
Open

docs(v2): OIDC discovery_url + claims_mapping and Azure AD B2C guide#413
montaro wants to merge 2 commits into
flipt-io:mainfrom
montaro:docs/oidc-discovery-url-claims-mapping

Conversation

@montaro

@montaro montaro commented Jul 21, 2026

Copy link
Copy Markdown

Overview

Documents the two new per-provider OIDC options and adds a dedicated Azure AD B2C login guide. This pairs with an upcoming change in flipt-io/flipt that adds discovery_url and claims_mapping to the OIDC auth method.

Why

Azure AD B2C is OIDC-compliant but has two behaviors that break the generic oidc method today:

  1. Issuer/discovery mismatch — B2C serves its discovery document from a policy-specific URL (tenant domain) while the issuer it reports (and puts in the iss claim) is the tenant GUID. The standard OIDC issuer check then fails.
  2. Non-standard email claim — B2C returns the email in an emails array rather than a string email claim, so email_matches has nothing to match against.

Changes

  • v2/configuration/authentication.mdx
    • New Discovery URL subsection explaining discovery_url (fetch discovery from one URL, verify tokens against issuer_url).
    • New Claims Mapping subsection explaining claims_mapping (JSON Pointer extraction of email/name/picture/sub).
    • Added Azure AD B2C to the list of tested providers with a link to the new guide.
  • v2/configuration/overview.mdx — added discovery_url and claims_mapping rows to the OIDC config reference table.
  • v2/guides/operations/authentication/login-with-azure-ad-b2c.mdx — new guide covering app registration, finding the issuer vs discovery URLs, a full config.yml, and a troubleshooting section (404 discovery, issuer mismatch, email_matches needing claim mapping).
  • docs.json — registered the new guide in the Authentication nav group.
  • .vale/styles/Flipt/spelling-exceptions.txt — added b2c and guid.

Notes

  • The config reference "Since" column uses v2.12.0 as a placeholder for the anticipated release; happy to adjust to whatever version the code change lands in.
  • Could not run vale/mint dev locally (deps not installed); prettier (2.8.8) was run on the changed files.

Made with Cursor

…D B2C guide

Add documentation for the new per-provider OIDC options:
- discovery_url: fetch the discovery document from a URL that differs from
  the token issuer (needed for Azure AD B2C, whose issuer is a tenant GUID
  while discovery is served from a policy-specific tenant-domain URL).
- claims_mapping: JSON Pointer map for extracting user attributes from
  non-standard claims (e.g. B2C's emails array).

Also adds a Login with Azure AD B2C guide covering setup and common
pitfalls, updates the config reference table, and registers the guide in
the nav.

Signed-off-by: Ahmed Refaey <ahmed.refaey@scale.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
@montaro
montaro requested a review from a team as a code owner July 21, 2026 14:50
…rl-claims-mapping

* origin/main:
  chore: add automated PR review workflow (flipt-io#417)
  docs(v2): document OIDC single logout (SLO) support (flipt-io#415)
  docs: add MCP server docs for v2 (flipt-io#416)

# Conflicts:
#	docs/v2/configuration/authentication.mdx
#	docs/v2/configuration/overview.mdx
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants