产品
从进门到入座,一应俱全。
Usher Identity 在门口验票,再引人入座:先身份验证,后授权。这些工作由四个部分完成。
Lobby
托管的登录页面。
点按“通过 Usher Identity 继续”后到达的地方。它总会写明用户要前往的产品,而且无论来自哪个产品,看起来都一样,让用户熟悉 Usher Identity 的样子,也能察觉到不是 Usher Identity 的页面。
每一种登录方式
通行密钥、电子邮件验证码、魔法链接、社交账户登录,以及(如果你需要的话)密码。
第二重验证
身份验证器 App 及备用码,可设为可选,也可要求所有人使用。
谁可以加入
开放注册,或者使用由地址和域名组成的宾客名单,其余的用屏蔽名单拦下。
两种主题,一样从容
浅色和深色,每一对颜色都对照 WCAG 2.2 AA 进行了检查,文字用来欢迎而非警告。
Usher Identity 账户
一个账户,通行每扇门。
Usher Identity 账户属于用户本人。它可以登录每一个使用 Usher Identity 账户的产品,并为用户提供一个统一管理账户的地方。
用自己的方式登录
添加通行密钥、开启身份验证器 App、更改电子邮件地址。
看得见的设备
列出每一台已登录的设备,并可让其中任意一台退出登录。
已关联的账户
已连接的社交账户,并可随时断开连接。
离开也很容易
用户可以自行删除自己的账户。
Usher Identity Console
开发者统管全局的地方。
工作区包含项目,项目包含环境。每个环境都是独立的颁发者,拥有自己的用户、应用、密钥和 Lobby。
应用
机密客户端和公共客户端,使用精确匹配的重定向 URI,还有机器对机器凭据。
用户和组织
查找用户、结束他们的会话,并管理组织、团队和邀请。
密钥
查看环境的签名密钥并进行轮换。
实时 Lobby 预览
像用户一样查看你的 Lobby,预览所用的主机永远不会让任何人登录。
SDK 和组件
一个让人一眼认出的按钮。
“通过 Usher Identity 继续”在每个产品中都是同一个样子,就像人们早已熟悉的那些登录按钮。按钮文字沿用你的字体,除此之外一切不变。
来自 @usher/ui 的实时组件
<SignIn />和<UserButton />将随 SDK 推出。 随 SDK 推出- 在此之前,任何 OpenID Connect 库现在就能让用户登录。
// 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 />
}