Skip to content

Product

Everything between the door and the seat.

Usher checks the ticket at the door and shows people to their seat: authentication, then authorisation. Four pieces do the work.

The Lobby

The hosted sign-in page.

Where Continue with Usher lands. It always names the product the person is going to, and it looks the same whichever product sent them, so people learn what Usher looks like and notice when something isn’t it.

  • Every way in

    Passkeys, emailed codes, magic links, social sign-in and, if you want them, passwords.

  • Second factors

    Authenticator apps with backup codes, optional or required for everyone.

  • Who may join

    Open sign-up, or a guest list of addresses and domains, with a block list for the rest.

  • Calm in both themes

    Light and dark, every colour pair checked against WCAG 2.2 AA, and written to welcome rather than warn.

Usher account

One account. Every door.

An Usher account is what a person has. It signs them in to every product that uses Usher accounts, and gives them one place to look after it.

  • Their sign-in, their way

    Add a passkey, turn on an authenticator app, change their email.

  • Devices they can see

    Every signed-in device, and a way to sign any of them out.

  • Linked accounts

    Social accounts they’ve connected, and a way to disconnect them.

  • Leaving is easy

    People can delete their account themselves.

Usher Console

Where developers run it all.

Workspaces hold projects; projects hold environments. Each environment is its own issuer with its own users, applications, keys and Lobby.

  • Applications

    Confidential and public clients, with exact redirect URIs, and machine-to-machine credentials.

  • Users and organisations

    Find people, end their sessions, and manage organisations, teams and invitations.

  • Keys

    See an environment’s signing keys and rotate them.

  • A live Lobby preview

    See your Lobby as people will, from a preview host that never signs anybody in.

SDK and components

A button people recognise.

Continue with Usher looks the same in every product, like the sign-in buttons people already know. Its label takes your font; nothing else about it changes.

Live components from @usher/ui

On a light page
On a dark page
Beside other options
Under a hosted formSecured by Usher
  • <SignIn /> and <UserButton /> arrive with the SDK. Coming with the SDK
  • Until then, any OpenID Connect library signs people in today.
@usher/nextjs (coming with the SDK)
// app/layout.tsx
import { UsherProvider } from '@usher/nextjs'

export default function RootLayout({ children }: { children: React.ReactNode }) {
  return (
    <html lang="en">
      <body>
        <UsherProvider>{children}</UsherProvider>
      </body>
    </html>
  )
}

// app/page.tsx
import { SignIn, UserButton, currentUser } from '@usher/nextjs'

export default async function Page() {
  const user = await currentUser()
  return user ? <UserButton /> : <SignIn />
}

Show your users in.

Create a workspace and a project, and your first environment comes with its own issuer, keys and Lobby.

Sign in once. Welcome everywhere.