'use client'; import { useAuth } from '@/providers/auth-provider'; import { UserProfile } from '@/components/user-profile'; import { LoginButton } from '@/components/login-button'; import { Card, CardContent, CardDescription, CardHeader, CardTitle } from '@repo/ui/components/card'; import { Badge } from '@repo/ui/components/badge'; import { Separator } from '@repo/ui/components/separator'; import { Shield, Key, Users, CheckCircle, Info } from 'lucide-react'; export default function HomePage() { const { isAuthenticated, isLoading, error } = useAuth(); return (
{/* 页面标题 */}

OIDC 认证演示

基于 OpenID Connect 协议的安全认证系统演示

测试 OIDC 流程
{/* 功能特性卡片 */}
安全认证 基于 OAuth 2.0 和 OpenID Connect 标准的安全认证流程 Token 管理 自动管理访问令牌、刷新令牌和 ID 令牌的生命周期 用户信息 获取和展示完整的用户配置文件信息
{/* 状态显示 */} {error && (
错误: {error}
)} {/* 主要内容区域 */}
{isLoading ? (
) : isAuthenticated ? ( ) : ( 欢迎使用 请点击下方按钮开始 OIDC 认证流程

演示账户信息:

用户名: demouser

密码: demo123

)} {/* 技术信息 */} 技术实现特性

前端技术栈

Next.js 15 React 19 TypeScript oidc-client-ts Tailwind CSS

后端技术栈

Hono OIDC Provider Redis JWT PKCE

安全特性

授权码流程 PKCE 支持 Token 轮换 安全存储

支持的作用域

openid profile email phone address
); }