- 后端:基于 node-oidc-provider 实现 OIDC Provider - 支持 authorization_code、refresh_token、client_credentials 授权类型 - Redis adapter 存储会话数据,Prisma adapter 存储持久化数据 - 客户端管理 CRUD API(创建、更新、删除、重新生成密钥) - 交互 API(登录、授权确认、中止) - 第一方应用自动跳过授权确认页面 - 使用 cuid2 生成客户端 ID - 前端:OIDC 客户端管理界面 - 客户端列表表格(支持分页、排序) - 创建/编辑弹窗(支持所有 OIDC 配置字段) - OIDC 交互页面(登录表单、授权确认表单) - 共享类型:添加 OIDC 相关 TypeScript 类型定义 Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
38 lines
931 B
TypeScript
38 lines
931 B
TypeScript
'use client';
|
||
|
||
import { OidcClientsTable } from '@/components/oidc-clients';
|
||
import {
|
||
Card,
|
||
CardContent,
|
||
CardDescription,
|
||
CardHeader,
|
||
CardTitle,
|
||
} from '@/components/ui/card';
|
||
|
||
export default function OidcClientsPage() {
|
||
return (
|
||
<div className="space-y-6">
|
||
<div className="flex items-center justify-between">
|
||
<div>
|
||
<h1 className="text-3xl font-bold tracking-tight">OIDC 客户端管理</h1>
|
||
<p className="text-muted-foreground">
|
||
管理 OIDC 客户端应用,配置授权回调地址和权限。
|
||
</p>
|
||
</div>
|
||
</div>
|
||
|
||
<Card>
|
||
<CardHeader>
|
||
<CardTitle>客户端列表</CardTitle>
|
||
<CardDescription>
|
||
查看和管理所有 OIDC 客户端应用。
|
||
</CardDescription>
|
||
</CardHeader>
|
||
<CardContent>
|
||
<OidcClientsTable />
|
||
</CardContent>
|
||
</Card>
|
||
</div>
|
||
);
|
||
}
|