---
name: "@oidc"
slug: "oidc"
description: "A component registry for OIDC policy forms. Pick identity providers, a form library, and a validation library, preview in the builder, then copy the code into your app."
category: "Forms"
tags: ["auth", "forms"]
framework: "react"
license: null
author: "shadcn-ui"
website: "https://ui.shadcn.com/oidc"
github: "https://github.com/shadcn-ui/oidc"
registry: "https://ui.shadcn.com/oidc/r/registry.json"
pro: false
pro_url: null
github_stars: null
component_count: 78
generated_at: "2026-09-21T01:50:16.753Z"
---

# @oidc

A component registry for OIDC policy forms. Pick identity providers, a form library, and a validation library, preview in the builder, then copy the code into your app.

## Links

- Website: https://ui.shadcn.com/oidc
- GitHub: https://github.com/shadcn-ui/oidc
- Registry JSON: https://ui.shadcn.com/oidc/r/registry.json
- Directory page: https://sh4dcn.vercel.app/registry/oidc
- This file: https://sh4dcn.vercel.app/md/oidc.md

## Install

```sh
# add the whole registry (shadcn CLI)
npx shadcn@latest add https://ui.shadcn.com/oidc/r/registry.json
pnpm dlx shadcn@latest add https://ui.shadcn.com/oidc/r/registry.json
bunx shadcn@latest add https://ui.shadcn.com/oidc/r/registry.json
# clone the source repo
git clone https://github.com/shadcn-ui/oidc.git
# fetch the raw registry index
curl -s https://ui.shadcn.com/oidc/r/registry.json
```

## Components (78)

| name | type | description | install |
| --- | --- | --- | --- |
| core | registry:block | A starter policy form: GitHub Actions and Vercel behind a toggle picker, each form with its own submit. The file is yours — add providers, swap the picker, and… | `npx shadcn@latest add https://ui.shadcn.com/oidc/r/core.json` |
| policy | registry:lib | The OidcPolicy rule type, its matching semantics, validation, and the match/explain functions. No dependencies — the foundation every other oidc-ui item builds… | `npx shadcn@latest add https://ui.shadcn.com/oidc/r/policy.json` |
| verify | registry:lib | Server-side token verification against OidcPolicy rules: OIDC discovery with issuer assertion, JWKS caching with stale fallback, signature and expiry checks vi… | `npx shadcn@latest add https://ui.shadcn.com/oidc/r/verify.json` |
| claims | registry:component | The shared pieces every provider form composes: the ClaimsList row editor for additional claims, the ClaimChip label marker, and the pure helpers that merge ro… | `npx shadcn@latest add https://ui.shadcn.com/oidc/r/claims.json` |
| picker | registry:component | Single-select provider picker that adapts to the count: a toggle row for up to three providers, a select beyond that, nothing for one. | `npx shadcn@latest add https://ui.shadcn.com/oidc/r/picker.json` |
| page-actions | registry:block | A working settings page: app/settings/oidc renders the policy form, and a server action validates with validateOidcPolicy before saving. Wire the form's onSubm… | `npx shadcn@latest add https://ui.shadcn.com/oidc/r/page-actions.json` |
| provider-github | registry:component | A self-contained form component that emits an OidcPolicy for a GitHub Actions caller: a repository (owner/repo or a pasted URL) and branch/tag/environment scop… | `npx shadcn@latest add https://ui.shadcn.com/oidc/r/provider-github.json` |
| provider-github-zod | registry:component | A self-contained form component that emits an OidcPolicy for a GitHub Actions caller: a repository (owner/repo or a pasted URL) and branch/tag/environment scop… | `npx shadcn@latest add https://ui.shadcn.com/oidc/r/provider-github-zod.json` |
| provider-github-valibot | registry:component | A self-contained form component that emits an OidcPolicy for a GitHub Actions caller: a repository (owner/repo or a pasted URL) and branch/tag/environment scop… | `npx shadcn@latest add https://ui.shadcn.com/oidc/r/provider-github-valibot.json` |
| provider-github-rhf | registry:component | A self-contained form component that emits an OidcPolicy for a GitHub Actions caller: a repository (owner/repo or a pasted URL) and branch/tag/environment scop… | `npx shadcn@latest add https://ui.shadcn.com/oidc/r/provider-github-rhf.json` |
| provider-github-rhf-zod | registry:component | A self-contained form component that emits an OidcPolicy for a GitHub Actions caller: a repository (owner/repo or a pasted URL) and branch/tag/environment scop… | `npx shadcn@latest add https://ui.shadcn.com/oidc/r/provider-github-rhf-zod.json` |
| provider-github-rhf-valibot | registry:component | A self-contained form component that emits an OidcPolicy for a GitHub Actions caller: a repository (owner/repo or a pasted URL) and branch/tag/environment scop… | `npx shadcn@latest add https://ui.shadcn.com/oidc/r/provider-github-rhf-valibot.json` |
| provider-github-tanstack | registry:component | A self-contained form component that emits an OidcPolicy for a GitHub Actions caller: a repository (owner/repo or a pasted URL) and branch/tag/environment scop… | `npx shadcn@latest add https://ui.shadcn.com/oidc/r/provider-github-tanstack.json` |
| provider-github-tanstack-zod | registry:component | A self-contained form component that emits an OidcPolicy for a GitHub Actions caller: a repository (owner/repo or a pasted URL) and branch/tag/environment scop… | `npx shadcn@latest add https://ui.shadcn.com/oidc/r/provider-github-tanstack-zod.json` |
| provider-github-tanstack-valibot | registry:component | A self-contained form component that emits an OidcPolicy for a GitHub Actions caller: a repository (owner/repo or a pasted URL) and branch/tag/environment scop… | `npx shadcn@latest add https://ui.shadcn.com/oidc/r/provider-github-tanstack-valibot.json` |
| provider-vercel | registry:component | A self-contained form component that emits an OidcPolicy for a Vercel caller: team, project, and environment scoping with derived issuer, plus custom audiences… | `npx shadcn@latest add https://ui.shadcn.com/oidc/r/provider-vercel.json` |
| provider-vercel-zod | registry:component | A self-contained form component that emits an OidcPolicy for a Vercel caller: team, project, and environment scoping with derived issuer, plus custom audiences… | `npx shadcn@latest add https://ui.shadcn.com/oidc/r/provider-vercel-zod.json` |
| provider-vercel-valibot | registry:component | A self-contained form component that emits an OidcPolicy for a Vercel caller: team, project, and environment scoping with derived issuer, plus custom audiences… | `npx shadcn@latest add https://ui.shadcn.com/oidc/r/provider-vercel-valibot.json` |
| provider-vercel-rhf | registry:component | A self-contained form component that emits an OidcPolicy for a Vercel caller: team, project, and environment scoping with derived issuer, plus custom audiences… | `npx shadcn@latest add https://ui.shadcn.com/oidc/r/provider-vercel-rhf.json` |
| provider-vercel-rhf-zod | registry:component | A self-contained form component that emits an OidcPolicy for a Vercel caller: team, project, and environment scoping with derived issuer, plus custom audiences… | `npx shadcn@latest add https://ui.shadcn.com/oidc/r/provider-vercel-rhf-zod.json` |
| provider-vercel-rhf-valibot | registry:component | A self-contained form component that emits an OidcPolicy for a Vercel caller: team, project, and environment scoping with derived issuer, plus custom audiences… | `npx shadcn@latest add https://ui.shadcn.com/oidc/r/provider-vercel-rhf-valibot.json` |
| provider-vercel-tanstack | registry:component | A self-contained form component that emits an OidcPolicy for a Vercel caller: team, project, and environment scoping with derived issuer, plus custom audiences… | `npx shadcn@latest add https://ui.shadcn.com/oidc/r/provider-vercel-tanstack.json` |
| provider-vercel-tanstack-zod | registry:component | A self-contained form component that emits an OidcPolicy for a Vercel caller: team, project, and environment scoping with derived issuer, plus custom audiences… | `npx shadcn@latest add https://ui.shadcn.com/oidc/r/provider-vercel-tanstack-zod.json` |
| provider-vercel-tanstack-valibot | registry:component | A self-contained form component that emits an OidcPolicy for a Vercel caller: team, project, and environment scoping with derived issuer, plus custom audiences… | `npx shadcn@latest add https://ui.shadcn.com/oidc/r/provider-vercel-tanstack-valibot.json` |
| provider-gitlab | registry:component | A self-contained form component that emits an OidcPolicy for a GitLab CI caller: instance (gitlab.com or self-hosted), group and project, job-requested audienc… | `npx shadcn@latest add https://ui.shadcn.com/oidc/r/provider-gitlab.json` |
| provider-gitlab-zod | registry:component | A self-contained form component that emits an OidcPolicy for a GitLab CI caller: instance (gitlab.com or self-hosted), group and project, job-requested audienc… | `npx shadcn@latest add https://ui.shadcn.com/oidc/r/provider-gitlab-zod.json` |
| provider-gitlab-valibot | registry:component | A self-contained form component that emits an OidcPolicy for a GitLab CI caller: instance (gitlab.com or self-hosted), group and project, job-requested audienc… | `npx shadcn@latest add https://ui.shadcn.com/oidc/r/provider-gitlab-valibot.json` |
| provider-gitlab-rhf | registry:component | A self-contained form component that emits an OidcPolicy for a GitLab CI caller: instance (gitlab.com or self-hosted), group and project, job-requested audienc… | `npx shadcn@latest add https://ui.shadcn.com/oidc/r/provider-gitlab-rhf.json` |
| provider-gitlab-rhf-zod | registry:component | A self-contained form component that emits an OidcPolicy for a GitLab CI caller: instance (gitlab.com or self-hosted), group and project, job-requested audienc… | `npx shadcn@latest add https://ui.shadcn.com/oidc/r/provider-gitlab-rhf-zod.json` |
| provider-gitlab-rhf-valibot | registry:component | A self-contained form component that emits an OidcPolicy for a GitLab CI caller: instance (gitlab.com or self-hosted), group and project, job-requested audienc… | `npx shadcn@latest add https://ui.shadcn.com/oidc/r/provider-gitlab-rhf-valibot.json` |
| provider-gitlab-tanstack | registry:component | A self-contained form component that emits an OidcPolicy for a GitLab CI caller: instance (gitlab.com or self-hosted), group and project, job-requested audienc… | `npx shadcn@latest add https://ui.shadcn.com/oidc/r/provider-gitlab-tanstack.json` |
| provider-gitlab-tanstack-zod | registry:component | A self-contained form component that emits an OidcPolicy for a GitLab CI caller: instance (gitlab.com or self-hosted), group and project, job-requested audienc… | `npx shadcn@latest add https://ui.shadcn.com/oidc/r/provider-gitlab-tanstack-zod.json` |
| provider-gitlab-tanstack-valibot | registry:component | A self-contained form component that emits an OidcPolicy for a GitLab CI caller: instance (gitlab.com or self-hosted), group and project, job-requested audienc… | `npx shadcn@latest add https://ui.shadcn.com/oidc/r/provider-gitlab-tanstack-valibot.json` |
| provider-google | registry:component | A self-contained form component that emits an OidcPolicy for a Google service account caller: account email, optional rename-proof unique ID, and audience. | `npx shadcn@latest add https://ui.shadcn.com/oidc/r/provider-google.json` |
| provider-google-zod | registry:component | A self-contained form component that emits an OidcPolicy for a Google service account caller: account email, optional rename-proof unique ID, and audience. Val… | `npx shadcn@latest add https://ui.shadcn.com/oidc/r/provider-google-zod.json` |
| provider-google-valibot | registry:component | A self-contained form component that emits an OidcPolicy for a Google service account caller: account email, optional rename-proof unique ID, and audience. Val… | `npx shadcn@latest add https://ui.shadcn.com/oidc/r/provider-google-valibot.json` |
| provider-google-rhf | registry:component | A self-contained form component that emits an OidcPolicy for a Google service account caller: account email, optional rename-proof unique ID, and audience. Bui… | `npx shadcn@latest add https://ui.shadcn.com/oidc/r/provider-google-rhf.json` |
| provider-google-rhf-zod | registry:component | A self-contained form component that emits an OidcPolicy for a Google service account caller: account email, optional rename-proof unique ID, and audience. Bui… | `npx shadcn@latest add https://ui.shadcn.com/oidc/r/provider-google-rhf-zod.json` |
| provider-google-rhf-valibot | registry:component | A self-contained form component that emits an OidcPolicy for a Google service account caller: account email, optional rename-proof unique ID, and audience. Bui… | `npx shadcn@latest add https://ui.shadcn.com/oidc/r/provider-google-rhf-valibot.json` |
| provider-google-tanstack | registry:component | A self-contained form component that emits an OidcPolicy for a Google service account caller: account email, optional rename-proof unique ID, and audience. Bui… | `npx shadcn@latest add https://ui.shadcn.com/oidc/r/provider-google-tanstack.json` |
| provider-google-tanstack-zod | registry:component | A self-contained form component that emits an OidcPolicy for a Google service account caller: account email, optional rename-proof unique ID, and audience. Bui… | `npx shadcn@latest add https://ui.shadcn.com/oidc/r/provider-google-tanstack-zod.json` |
| provider-google-tanstack-valibot | registry:component | A self-contained form component that emits an OidcPolicy for a Google service account caller: account email, optional rename-proof unique ID, and audience. Bui… | `npx shadcn@latest add https://ui.shadcn.com/oidc/r/provider-google-tanstack-valibot.json` |
| provider-bitbucket | registry:component | A self-contained form component that emits an OidcPolicy for a Bitbucket Pipelines caller: paste-in identity provider URL and audience from repository settings… | `npx shadcn@latest add https://ui.shadcn.com/oidc/r/provider-bitbucket.json` |
| provider-bitbucket-zod | registry:component | A self-contained form component that emits an OidcPolicy for a Bitbucket Pipelines caller: paste-in identity provider URL and audience from repository settings… | `npx shadcn@latest add https://ui.shadcn.com/oidc/r/provider-bitbucket-zod.json` |
| provider-bitbucket-valibot | registry:component | A self-contained form component that emits an OidcPolicy for a Bitbucket Pipelines caller: paste-in identity provider URL and audience from repository settings… | `npx shadcn@latest add https://ui.shadcn.com/oidc/r/provider-bitbucket-valibot.json` |
| provider-bitbucket-rhf | registry:component | A self-contained form component that emits an OidcPolicy for a Bitbucket Pipelines caller: paste-in identity provider URL and audience from repository settings… | `npx shadcn@latest add https://ui.shadcn.com/oidc/r/provider-bitbucket-rhf.json` |
| provider-bitbucket-rhf-zod | registry:component | A self-contained form component that emits an OidcPolicy for a Bitbucket Pipelines caller: paste-in identity provider URL and audience from repository settings… | `npx shadcn@latest add https://ui.shadcn.com/oidc/r/provider-bitbucket-rhf-zod.json` |
| provider-bitbucket-rhf-valibot | registry:component | A self-contained form component that emits an OidcPolicy for a Bitbucket Pipelines caller: paste-in identity provider URL and audience from repository settings… | `npx shadcn@latest add https://ui.shadcn.com/oidc/r/provider-bitbucket-rhf-valibot.json` |
| provider-bitbucket-tanstack | registry:component | A self-contained form component that emits an OidcPolicy for a Bitbucket Pipelines caller: paste-in identity provider URL and audience from repository settings… | `npx shadcn@latest add https://ui.shadcn.com/oidc/r/provider-bitbucket-tanstack.json` |
| provider-bitbucket-tanstack-zod | registry:component | A self-contained form component that emits an OidcPolicy for a Bitbucket Pipelines caller: paste-in identity provider URL and audience from repository settings… | `npx shadcn@latest add https://ui.shadcn.com/oidc/r/provider-bitbucket-tanstack-zod.json` |
| provider-bitbucket-tanstack-valibot | registry:component | A self-contained form component that emits an OidcPolicy for a Bitbucket Pipelines caller: paste-in identity provider URL and audience from repository settings… | `npx shadcn@latest add https://ui.shadcn.com/oidc/r/provider-bitbucket-tanstack-valibot.json` |
| provider-aws | registry:component | A self-contained form component that emits an OidcPolicy for an AWS EKS workload: cluster OIDC issuer URL, Kubernetes namespace and service account, and audien… | `npx shadcn@latest add https://ui.shadcn.com/oidc/r/provider-aws.json` |
| provider-aws-zod | registry:component | A self-contained form component that emits an OidcPolicy for an AWS EKS workload: cluster OIDC issuer URL, Kubernetes namespace and service account, and audien… | `npx shadcn@latest add https://ui.shadcn.com/oidc/r/provider-aws-zod.json` |
| provider-aws-valibot | registry:component | A self-contained form component that emits an OidcPolicy for an AWS EKS workload: cluster OIDC issuer URL, Kubernetes namespace and service account, and audien… | `npx shadcn@latest add https://ui.shadcn.com/oidc/r/provider-aws-valibot.json` |
| provider-aws-rhf | registry:component | A self-contained form component that emits an OidcPolicy for an AWS EKS workload: cluster OIDC issuer URL, Kubernetes namespace and service account, and audien… | `npx shadcn@latest add https://ui.shadcn.com/oidc/r/provider-aws-rhf.json` |
| provider-aws-rhf-zod | registry:component | A self-contained form component that emits an OidcPolicy for an AWS EKS workload: cluster OIDC issuer URL, Kubernetes namespace and service account, and audien… | `npx shadcn@latest add https://ui.shadcn.com/oidc/r/provider-aws-rhf-zod.json` |
| provider-aws-rhf-valibot | registry:component | A self-contained form component that emits an OidcPolicy for an AWS EKS workload: cluster OIDC issuer URL, Kubernetes namespace and service account, and audien… | `npx shadcn@latest add https://ui.shadcn.com/oidc/r/provider-aws-rhf-valibot.json` |
| provider-aws-tanstack | registry:component | A self-contained form component that emits an OidcPolicy for an AWS EKS workload: cluster OIDC issuer URL, Kubernetes namespace and service account, and audien… | `npx shadcn@latest add https://ui.shadcn.com/oidc/r/provider-aws-tanstack.json` |
| provider-aws-tanstack-zod | registry:component | A self-contained form component that emits an OidcPolicy for an AWS EKS workload: cluster OIDC issuer URL, Kubernetes namespace and service account, and audien… | `npx shadcn@latest add https://ui.shadcn.com/oidc/r/provider-aws-tanstack-zod.json` |
| provider-aws-tanstack-valibot | registry:component | A self-contained form component that emits an OidcPolicy for an AWS EKS workload: cluster OIDC issuer URL, Kubernetes namespace and service account, and audien… | `npx shadcn@latest add https://ui.shadcn.com/oidc/r/provider-aws-tanstack-valibot.json` |
| provider-azure | registry:component | A self-contained form component that emits an OidcPolicy for a Microsoft Entra ID workload: tenant, the caller's object ID, optional client ID, and audience. | `npx shadcn@latest add https://ui.shadcn.com/oidc/r/provider-azure.json` |
| provider-azure-zod | registry:component | A self-contained form component that emits an OidcPolicy for a Microsoft Entra ID workload: tenant, the caller's object ID, optional client ID, and audience. V… | `npx shadcn@latest add https://ui.shadcn.com/oidc/r/provider-azure-zod.json` |
| provider-azure-valibot | registry:component | A self-contained form component that emits an OidcPolicy for a Microsoft Entra ID workload: tenant, the caller's object ID, optional client ID, and audience. V… | `npx shadcn@latest add https://ui.shadcn.com/oidc/r/provider-azure-valibot.json` |
| provider-azure-rhf | registry:component | A self-contained form component that emits an OidcPolicy for a Microsoft Entra ID workload: tenant, the caller's object ID, optional client ID, and audience. B… | `npx shadcn@latest add https://ui.shadcn.com/oidc/r/provider-azure-rhf.json` |
| provider-azure-rhf-zod | registry:component | A self-contained form component that emits an OidcPolicy for a Microsoft Entra ID workload: tenant, the caller's object ID, optional client ID, and audience. B… | `npx shadcn@latest add https://ui.shadcn.com/oidc/r/provider-azure-rhf-zod.json` |
| provider-azure-rhf-valibot | registry:component | A self-contained form component that emits an OidcPolicy for a Microsoft Entra ID workload: tenant, the caller's object ID, optional client ID, and audience. B… | `npx shadcn@latest add https://ui.shadcn.com/oidc/r/provider-azure-rhf-valibot.json` |
| provider-azure-tanstack | registry:component | A self-contained form component that emits an OidcPolicy for a Microsoft Entra ID workload: tenant, the caller's object ID, optional client ID, and audience. B… | `npx shadcn@latest add https://ui.shadcn.com/oidc/r/provider-azure-tanstack.json` |
| provider-azure-tanstack-zod | registry:component | A self-contained form component that emits an OidcPolicy for a Microsoft Entra ID workload: tenant, the caller's object ID, optional client ID, and audience. B… | `npx shadcn@latest add https://ui.shadcn.com/oidc/r/provider-azure-tanstack-zod.json` |
| provider-azure-tanstack-valibot | registry:component | A self-contained form component that emits an OidcPolicy for a Microsoft Entra ID workload: tenant, the caller's object ID, optional client ID, and audience. B… | `npx shadcn@latest add https://ui.shadcn.com/oidc/r/provider-azure-tanstack-valibot.json` |
| provider-custom | registry:component | The escape hatch for any OIDC issuer without a dedicated provider: issuer, audience, optional subject, and free-form optional claims, with a warning when a rul… | `npx shadcn@latest add https://ui.shadcn.com/oidc/r/provider-custom.json` |
| provider-custom-zod | registry:component | The escape hatch for any OIDC issuer without a dedicated provider: issuer, audience, optional subject, and free-form optional claims, with a warning when a rul… | `npx shadcn@latest add https://ui.shadcn.com/oidc/r/provider-custom-zod.json` |
| provider-custom-valibot | registry:component | The escape hatch for any OIDC issuer without a dedicated provider: issuer, audience, optional subject, and free-form optional claims, with a warning when a rul… | `npx shadcn@latest add https://ui.shadcn.com/oidc/r/provider-custom-valibot.json` |
| provider-custom-rhf | registry:component | The escape hatch for any OIDC issuer without a dedicated provider: issuer, audience, optional subject, and free-form optional claims, with a warning when a rul… | `npx shadcn@latest add https://ui.shadcn.com/oidc/r/provider-custom-rhf.json` |
| provider-custom-rhf-zod | registry:component | The escape hatch for any OIDC issuer without a dedicated provider: issuer, audience, optional subject, and free-form optional claims, with a warning when a rul… | `npx shadcn@latest add https://ui.shadcn.com/oidc/r/provider-custom-rhf-zod.json` |
| provider-custom-rhf-valibot | registry:component | The escape hatch for any OIDC issuer without a dedicated provider: issuer, audience, optional subject, and free-form optional claims, with a warning when a rul… | `npx shadcn@latest add https://ui.shadcn.com/oidc/r/provider-custom-rhf-valibot.json` |
| provider-custom-tanstack | registry:component | The escape hatch for any OIDC issuer without a dedicated provider: issuer, audience, optional subject, and free-form optional claims, with a warning when a rul… | `npx shadcn@latest add https://ui.shadcn.com/oidc/r/provider-custom-tanstack.json` |
| provider-custom-tanstack-zod | registry:component | The escape hatch for any OIDC issuer without a dedicated provider: issuer, audience, optional subject, and free-form optional claims, with a warning when a rul… | `npx shadcn@latest add https://ui.shadcn.com/oidc/r/provider-custom-tanstack-zod.json` |
| provider-custom-tanstack-valibot | registry:component | The escape hatch for any OIDC issuer without a dedicated provider: issuer, audience, optional subject, and free-form optional claims, with a warning when a rul… | `npx shadcn@latest add https://ui.shadcn.com/oidc/r/provider-custom-tanstack-valibot.json` |

## For AI agents

```text
You are adding components from @oidc to a shadcn-compatible project.
1. Read this file (https://sh4dcn.vercel.app/md/oidc.md) for the component list.
2. Fetch the machine-readable index: https://ui.shadcn.com/oidc/r/registry.json
3. Install a single component with its install command from the table above.
4. Full structured record: https://sh4dcn.vercel.app/json (library slug: oidc).
```
