@gftdcojp/auth
Version:
✅ Enterprise-grade Auth0 integration for GFTD platform - 90% Complete, High Quality Implementation
128 lines • 3.47 kB
TypeScript
/**
* 認証パッケージ用型定義
*/
/**
* ユーザーペイロード
*/
export interface UserPayload {
sub: string;
email?: string;
role: 'anon' | 'authenticated' | 'service_role';
tenant_id: string;
/** 🆕 Auth0組織ID(orgid)対応 */
organization_id?: string;
metadata?: {
auth0_user_id?: string;
email_verified?: boolean;
name?: string;
picture?: string;
nickname?: string;
roles?: string[];
permissions?: string[];
/** 🆕 組織関連メタデータ */
organization?: {
id: string;
name: string;
display_name?: string;
metadata?: Record<string, any>;
};
organization_roles?: string[];
organization_permissions?: string[];
[key: string]: any;
};
app_metadata?: {
provider?: string;
domain?: string;
client_id?: string;
picture?: string;
/** 🆕 組織関連のアプリケーションメタデータ */
organization_id?: string;
organizations?: string[];
[key: string]: any;
};
user_metadata?: {
email?: string;
name?: string;
picture?: string;
[key: string]: any;
};
}
/** 🆕 組織招待のステータス */
export declare enum OrganizationInvitationStatus {
PENDING = "pending",
ACCEPTED = "accepted",
EXPIRED = "expired",
CANCELLED = "cancelled"
}
/** 🆕 組織メンバーの役割 */
export interface OrganizationMemberRole {
id: string;
name: string;
description?: string;
}
/** 🆕 組織設定 */
export interface OrganizationSettings {
/** 組織でのサインアップを許可するか */
enable_signup?: boolean;
/** ドメイン制限 */
allowed_domains?: string[];
/** 自動参加を許可するドメイン */
auto_membership_domains?: string[];
/** 組織固有の接続設定 */
connections?: {
name: string;
strategy: string;
enabled: boolean;
}[];
}
/**
* 監査ログレベル
*/
export declare enum AuditLogLevel {
DEBUG = "DEBUG",
INFO = "INFO",
WARN = "WARN",
ERROR = "ERROR",
CRITICAL = "CRITICAL"
}
/**
* 監査イベントタイプ
*/
export declare enum AuditEventType {
AUTH_LOGIN = "AUTH_LOGIN",
AUTH_LOGOUT = "AUTH_LOGOUT",
AUTH_FAILED = "AUTH_FAILED",
DATA_READ = "DATA_READ",
DATA_WRITE = "DATA_WRITE",
DATA_DELETE = "DATA_DELETE",
ADMIN_ACTION = "ADMIN_ACTION",
SECURITY_EVENT = "SECURITY_EVENT",
/** 🆕 組織関連イベント */
ORG_MEMBER_ADDED = "ORG_MEMBER_ADDED",
ORG_MEMBER_REMOVED = "ORG_MEMBER_REMOVED",
ORG_INVITATION_SENT = "ORG_INVITATION_SENT",
ORG_INVITATION_ACCEPTED = "ORG_INVITATION_ACCEPTED",
ORG_SETTINGS_UPDATED = "ORG_SETTINGS_UPDATED"
}
/**
* 監査ログエントリ
*/
export interface AuditLogEntry {
level: AuditLogLevel;
eventType: AuditEventType;
userId?: string;
tenantId?: string;
/** 🆕 組織ID */
organizationId?: string;
result: 'SUCCESS' | 'FAILURE' | 'DENIED' | 'STARTED' | 'FAILED' | 'ERROR' | 'CANCELLED';
message: string;
details?: Record<string, any>;
timestamp?: Date;
}
/**
* 監査ログマネージャー(スタブ実装)
*/
export declare class AuditLogManager {
static log(entry: AuditLogEntry): void;
}
//# sourceMappingURL=types.d.ts.map