'use client'; import { Button } from '@nice/ui/components/button' import { oidcClient } from '@/lib/auth/oidc-client'; import { useEffect, useState } from 'react'; export default function AuthTestPage() { const [redirectUri, setRedirectUri] = useState(''); useEffect(() => { // 设置回调 URI setRedirectUri(`${window.location.origin}/auth/callback`); }, []); const handleLogin = () => { if (!redirectUri) return; // 构建授权 URL const authUrl = oidcClient.buildAuthorizationUrl({ redirectUri, state: 'test-state', scope: 'openid profile email', }); // 保存状态到 sessionStorage(用于回调验证) sessionStorage.setItem('oauth_state', 'test-state'); sessionStorage.setItem('oauth_redirect_uri', redirectUri); // 跳转到授权页面 window.location.href = authUrl; }; return (
点击按钮跳转到授权登录页面
回调地址: {redirectUri}