@gftdcojp/auth
Version:
✅ Enterprise-grade Auth0 integration for GFTD platform - 90% Complete, High Quality Implementation
63 lines • 2 kB
TypeScript
/**
* セッション管理ユーティリティ
*
* 機能:
* - セッションの暗号化/復号化
* - セッション有効期限チェック
* - セッション更新
* - セキュアなCookie設定
*/
import { NextRequest, NextResponse } from 'next/server';
import { Session, NextJsAuth0Config } from '../nextjs-auth0';
/**
* セッション管理クラス
*/
export declare class SessionManager {
private config;
private secretKey;
constructor(config: NextJsAuth0Config);
/**
* セッションを暗号化してトークンにする
*/
encryptSession(session: Session): Promise<string>;
/**
* 暗号化されたトークンからセッションを復号化する
*/
decryptSession(encryptedToken: string): Promise<Session | null>;
/**
* リクエストからセッションを取得
*/
getSessionFromRequest(request: NextRequest): Promise<Session | null>;
/**
* レスポンスにセッションを設定
*/
setSessionInResponse(response: NextResponse, session: Session | null): Promise<void>;
/**
* セッション更新(ローリングセッション対応)
*/
updateSession(session: Session): Promise<Session>;
/**
* セッションが有効かチェック
*/
isSessionValid(session: Session | null): boolean;
/**
* 🆕 組織コンテキストでのセッション検証
*/
validateOrganizationContext(session: Session | null, organizationId?: string): boolean;
/**
* セッションからアクセストークンを取得(リフレッシュも含む)
*/
getAccessToken(session: Session): Promise<{
accessToken: string;
session: Session;
} | null>;
/**
* アクセストークンをリフレッシュ
*/
private refreshAccessToken;
/**
* JWTトークンから有効期限を抽出
*/
private extractTokenExpiry;
}
//# sourceMappingURL=session-manager.d.ts.map