shadcn.io is not affiliated with official shadcn/ui
Identity Provider Login Block for React
A searchable list of ten sign-in providers in three groups with counts and a Connected before marker: typing filters, Enter or a press chooses, the button names the choice and shows where a real sign-in would go.
Installation
Overview
Let people find their provider by typing, with this identity provider login block for React with Base UI. It's the sign-in page of Lessonvale, a school district portal: the page's side rails run the full height of the screen and one band crosses it between two rules, holding one centered column. A framed Command lists ten providers in three groups, Enterprise, Social and Custom, each heading with its count, each row with a two-letter tile, and "Connected before" on the two this browser used last. Typing filters by what the name holds and updates the counts, the arrow keys move through the rows, Enter or a press chooses one (its tile turns solid), Escape clears the field, and a polite line reads out how many match a moment after the last keystroke. The Shine Button, the only colored control, is quiet until something is chosen and then names the choice, "Continue with Okta"; pressing it shows where a real sign-in would go. Sign in with email instead is the quiet way out. It's built from Command, Kbd, Button, Shine Button and Guides, with a CSS entrance only. For portals, consoles and any app with more providers than fit in a row of buttons.
FAQ
What stays in the page, and how do I wire real providers?
All of it. The ten providers and the two Connected before marks are typed, a choice only changes the tile and the button, and the hand-off says where a real sign-in would go while nothing opens or is sent. In a product, build the list from your connections (the ones an admin enabled, the social providers you offer), mark the ones this browser signed in with from a first-party cookie, and redirect with a SAML request or an OpenID Connect or OAuth authorization request where the code says so.
How does the search work, and what does a screen reader hear?
It matches the text of each name, ignoring case, so ok finds Okta and micro finds Microsoft Entra ID and Microsoft, and the group counts follow what is shown. Nothing is selected by fuzzy ranking. A polite line reads the count about half a second after the last keystroke ("1 provider matches ok."), never once per letter, and a choice speaks at once and cancels the count still waiting.
Which keys work in the list?
Type to filter, the up and down arrow keys move the highlighted row, Enter chooses it, and Escape clears the field when it has text. Tab then goes to the button, so typing a name, pressing Enter, then Tab and Enter signs in from the keyboard.
What shows when nothing matches?
The list's own empty state names what was typed and suggests one word; the height of the list never changes. The way out is under the button: Sign in with email instead, for people whose provider isn't listed.
Why is the button quiet before a choice, and not disabled?
A disabled button can't explain itself and keyboard users can't reach it. Pressed with nothing chosen it says "Choose a provider from the list first." and moves focus to the search field. Once a provider is chosen it names it, and it keeps its width because the label is the only thing that changes.
Why two-letter tiles, and what about the custom providers?
Real providers (Okta, Microsoft Entra ID, Google Workspace, OneLogin, Google, Microsoft, Apple) are named in text with a neutral tile of two typed letters, never a logo or a brand color. The custom ones are a school district's own SAML, OpenID Connect and LDAPS connections, so their names are invented; drop official marks in where the code marks the icon slot if you have the right to use them.
Related
- Pro
Federated Identity Login
SSO and providersA provider chooser for a cloud console: a table of five identity providers with protocol, a health word and dot, and the last check, where a provider in maintenance can't be chosen and says why, and one button connects.
- Pro
Social Buttons Login
SSO and providersA full-height provider-first sign-in page for a photo-sharing app: four hairline rows for Google, GitHub, Apple and Microsoft with a Last used badge that moves, and an email form that opens in place.
- Pro
Enterprise SSO Login
SSO and providersA sign-in page for a construction project manager that asks for the workspace address first: it looks the workspace up as you type, offers the right spelling for a typo and turns the button into Continue with SSO.
- Pro
Domain Routing Login
SSO and providersA sign-in page for workforce scheduling that reads the domain of your email and says how that company signs in: one required provider, a provider with a password option, a choice of two, or a password for a stranger.
- Pro
A sign-in shown as a command palette over a drawn sign-in page: Email and password, GitHub, Google, SSO and Magic link on the keys 1 to 5, plus Create account and Reset password, filtered as you type.
- Pro
LDAP Directory Login
SSO and providersA sign-in page for a company intranet against its directory: a choice of directory where DEV is offline with its reason, a second choice between DOMAIN user and user at domain that rewrites the field, and the server facts beside it.