Skip to content

Add federated authorization tutorial#576

Open
sohanmaheshwar wants to merge 1 commit into
mainfrom
federated-authorization-tutorial
Open

Add federated authorization tutorial#576
sohanmaheshwar wants to merge 1 commit into
mainfrom
federated-authorization-tutorial

Conversation

@sohanmaheshwar

Copy link
Copy Markdown
Contributor

What

Adds a new tutorial: Federate Authorization Across Multiple Identity Providers (spicedb/tutorials/federated-authorization).

It walks through using SpiceDB to centralize permissions when users authenticate through different identity providers (Keycloak OIDC + GitHub OAuth): each external account (keycloak_account, github_account) binds to a canonical internal user, and documents reference only that user — so the authorization model is unaffected by which IdP a user came from.

Contents

  • Schema for the *_account → bound_to → user binding pattern
  • The per-login identity-resolution step, with zed and Python examples for grant / check / share / lookup
  • A note on consistency (ZedToken / at_least_as_fresh)
  • Architecture diagram (FIG 01)
  • Links to the runnable demo at authzed/examples/federated-authorization

Added to the Tutorials nav via app/spicedb/tutorials/_meta.ts.

Note

The link to authzed/examples/federated-authorization resolves once authzed/examples#48 merges.

Adds a tutorial showing how to federate authorization across multiple identity providers (Keycloak OIDC + GitHub OAuth) by binding each external account to a canonical internal SpiceDB user. Includes the architecture diagram and links to the runnable demo in authzed/examples.

Signed-off-by: Sohan Maheshwar <1119120+sohanmaheshwar@users.noreply.github.com>
@github-actions

github-actions Bot commented Jul 23, 2026

Copy link
Copy Markdown
Contributor

Preview deployment status for this pull request.

Name Status Preview Updated (UTC)
docs 🟢 Ready Visit Preview Jul 23, 2026 09:45am

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.

1 participant