feat(web): 增加统一认证接入与运维页面
系统设置新增统一认证配对、验证、激活、重验证、回滚与禁用流程,安全事件改为统一能力状态。前端登录入口运行时读取公开配置,不再依赖 VITE_OIDC 构建变量。\n\n验证:web 31 项测试;web typecheck;pnpm lint;web production build
This commit is contained in:
@@ -988,6 +988,117 @@ export interface SecurityEventConnectionResponse {
|
||||
prerequisites?: SecurityEventConnectionPrerequisites;
|
||||
}
|
||||
|
||||
export type IdentityRevisionState = 'draft' | 'validated' | 'active' | 'superseded' | 'failed';
|
||||
|
||||
export interface IdentityConfigurationRevision {
|
||||
id: string;
|
||||
state: IdentityRevisionState;
|
||||
schemaVersion: number;
|
||||
authCenterUrl: string;
|
||||
issuer?: string;
|
||||
tenantId?: string;
|
||||
applicationId?: string;
|
||||
audience?: string;
|
||||
browserClientId?: string;
|
||||
machineClientId?: string;
|
||||
scopes: string[];
|
||||
capabilities: string[];
|
||||
rolePrefix: string;
|
||||
localTenantKey: string;
|
||||
publicBaseUrl: string;
|
||||
webBaseUrl: string;
|
||||
jitEnabled: boolean;
|
||||
legacyJwtEnabled: boolean;
|
||||
tokenIntrospection: boolean;
|
||||
sessionRevocation: boolean;
|
||||
securityEventIssuer?: string;
|
||||
securityEventConfigurationUrl?: string;
|
||||
securityEventAudience?: string;
|
||||
sessionIdleSeconds: number;
|
||||
sessionAbsoluteSeconds: number;
|
||||
sessionRefreshSeconds: number;
|
||||
version: number;
|
||||
lastErrorCategory?: string;
|
||||
lastTraceId?: string;
|
||||
lastAuditId?: string;
|
||||
validatedAt?: string;
|
||||
activatedAt?: string;
|
||||
supersededAt?: string;
|
||||
createdAt: string;
|
||||
updatedAt: string;
|
||||
}
|
||||
|
||||
export type IdentityPairingStatus =
|
||||
| 'metadata_pending'
|
||||
| 'preparing'
|
||||
| 'ready'
|
||||
| 'credentials_saved'
|
||||
| 'completed'
|
||||
| 'failed'
|
||||
| 'expired';
|
||||
|
||||
export interface IdentityPairingExchange {
|
||||
id: string;
|
||||
revisionId: string;
|
||||
remoteExchangeId: string;
|
||||
status: IdentityPairingStatus;
|
||||
remoteVersion: number;
|
||||
expiresAt: string;
|
||||
version: number;
|
||||
lastErrorCategory?: string;
|
||||
authCenterAuditId?: string;
|
||||
lastTraceId?: string;
|
||||
createdAt: string;
|
||||
updatedAt: string;
|
||||
}
|
||||
|
||||
export interface IdentityRuntimeStatus {
|
||||
enabled: boolean;
|
||||
revisionId?: string;
|
||||
login: string;
|
||||
jit: string;
|
||||
tokenIntrospection: string;
|
||||
sessionRevocation: string;
|
||||
lastTraceId?: string;
|
||||
lastAuditId?: string;
|
||||
lastErrorCategory?: string;
|
||||
}
|
||||
|
||||
export interface IdentityConfigurationView {
|
||||
active: IdentityConfigurationRevision | null;
|
||||
draft: IdentityConfigurationRevision | null;
|
||||
previous: IdentityConfigurationRevision | null;
|
||||
pairing?: IdentityPairingExchange;
|
||||
runtime: IdentityRuntimeStatus;
|
||||
}
|
||||
|
||||
export interface PublicIdentityConfiguration {
|
||||
enabled: boolean;
|
||||
oidcLogin: boolean;
|
||||
loginUrl?: string;
|
||||
logoutUrl?: string;
|
||||
status: string;
|
||||
}
|
||||
|
||||
export interface IdentityPairingInput {
|
||||
authCenterUrl: string;
|
||||
onboardingCode: string;
|
||||
publicBaseUrl: string;
|
||||
webBaseUrl: string;
|
||||
localTenantKey: string;
|
||||
legacyJwtEnabled: boolean;
|
||||
}
|
||||
|
||||
export interface IdentityRevisionPolicyUpdate {
|
||||
localTenantKey?: string;
|
||||
rolePrefix?: string;
|
||||
jitEnabled?: boolean;
|
||||
legacyJwtEnabled?: boolean;
|
||||
sessionIdleSeconds?: number;
|
||||
sessionAbsoluteSeconds?: number;
|
||||
sessionRefreshSeconds?: number;
|
||||
}
|
||||
|
||||
export interface GatewayTask {
|
||||
id: string;
|
||||
kind: string;
|
||||
|
||||
Reference in New Issue
Block a user