UNPKG

@gftdcojp/auth

Version:

✅ Enterprise-grade Auth0 integration for GFTD platform - 90% Complete, High Quality Implementation

244 lines 8.55 kB
"use strict"; /** * Next.js Auth0 SDK - Universal Entry Point * * 🔄 Client & Server 安全実装 * - 自動的にサーバー・クライアント判定 * - Next.js環境適応 * - 型安全性確保 * * 使用場所: * - Client Components (型のみ) * - Server Components (実装付き) * - API Routes (実装付き) * - Middleware (実装付き) */ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { if (k2 === undefined) k2 = k; var desc = Object.getOwnPropertyDescriptor(m, k); if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { desc = { enumerable: true, get: function() { return m[k]; } }; } Object.defineProperty(o, k2, desc); }) : (function(o, m, k, k2) { if (k2 === undefined) k2 = k; o[k2] = m[k]; })); var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { Object.defineProperty(o, "default", { enumerable: true, value: v }); }) : function(o, v) { o["default"] = v; }); var __importStar = (this && this.__importStar) || (function () { var ownKeys = function(o) { ownKeys = Object.getOwnPropertyNames || function (o) { var ar = []; for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k; return ar; }; return ownKeys(o); }; return function (mod) { if (mod && mod.__esModule) return mod; var result = {}; if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]); __setModuleDefault(result, mod); return result; }; })(); Object.defineProperty(exports, "__esModule", { value: true }); exports.NextJsAuth0Client = void 0; exports.createNextJsAuth0Client = createNextJsAuth0Client; exports.getSession = getSession; exports.getSessionWithOrganization = getSessionWithOrganization; exports.getAccessToken = getAccessToken; exports.updateSession = updateSession; exports.withMiddlewareAuthRequired = withMiddlewareAuthRequired; exports.withOrganizationAuthRequired = withOrganizationAuthRequired; exports.auth0Middleware = auth0Middleware; exports.withApiAuthRequired = withApiAuthRequired; exports.withOrganizationApiAuthRequired = withOrganizationApiAuthRequired; exports.handleAuth = handleAuth; exports.handleAuthLogin = handleAuthLogin; exports.handleAuthLogout = handleAuthLogout; exports.handleAuthCallback = handleAuthCallback; exports.handleAuthMe = handleAuthMe; exports.handleOrganizationLogin = handleOrganizationLogin; exports.handleOrganizationCallback = handleOrganizationCallback; exports.handleOrganizationSelection = handleOrganizationSelection; exports.buildOrganizationLoginUrl = buildOrganizationLoginUrl; /** * サーバー環境判定 */ function isServerSide() { return typeof window === 'undefined' && typeof process !== 'undefined'; } /** * 条件的サーバー実装インポート * * ⚠️ サーバーサイドでのみ実行される動的インポート */ async function getServerImplementation() { if (!isServerSide()) { throw new Error('Server implementation can only be used on server-side'); } try { const serverModule = await Promise.resolve().then(() => __importStar(require('./nextjs-auth0-server'))); return serverModule; } catch (error) { throw new Error(`Failed to load server implementation: ${error}`); } } /** * 条件的エクスポート関数群 * * サーバーサイドでのみ実装を読み込み、 * クライアントサイドでは型安全なエラーを投げる */ /** * Next.js Auth0 クライアント(条件的) */ class NextJsAuth0Client { constructor(config) { if (!isServerSide()) { throw new Error('NextJsAuth0Client can only be instantiated on server-side. ' + 'Use client-side auth hooks for React components.'); } } } exports.NextJsAuth0Client = NextJsAuth0Client; /** * Next.js Auth0 Client作成(条件的) */ async function createNextJsAuth0Client(config) { const server = await getServerImplementation(); return server.createNextJsAuth0Client(config); } /** * セッション取得(条件的) */ async function getSession(request) { if (!isServerSide()) { throw new Error('getSession can only be called on server-side. ' + 'Use useUser hook in client components.'); } const server = await getServerImplementation(); return server.getSession(request); } /** * 🆕 組織コンテキストでのセッション取得(条件的) */ async function getSessionWithOrganization(organizationId, request) { if (!isServerSide()) { throw new Error('getSessionWithOrganization can only be called on server-side. ' + 'Use useUser hook in client components.'); } const server = await getServerImplementation(); return server.getSessionWithOrganization(organizationId, request); } /** * アクセストークン取得(条件的) */ async function getAccessToken(request) { if (!isServerSide()) { throw new Error('getAccessToken can only be called on server-side. ' + 'Use useAccessToken hook in client components.'); } const server = await getServerImplementation(); return server.getAccessToken(request); } /** * セッション更新(条件的) */ async function updateSession(updates, request) { if (!isServerSide()) { throw new Error('updateSession can only be called on server-side.'); } const server = await getServerImplementation(); return server.updateSession(updates, request); } /** * ミドルウェア認証必須ラッパー(条件的) */ async function withMiddlewareAuthRequired(middleware) { const server = await getServerImplementation(); return server.withMiddlewareAuthRequired(middleware); } /** * 🆕 組織認証必須ミドルウェアラッパー(条件的) */ async function withOrganizationAuthRequired(organizationId, middleware) { const server = await getServerImplementation(); return server.withOrganizationAuthRequired(organizationId, middleware); } /** * ミドルウェア(条件的) */ async function auth0Middleware(request) { const server = await getServerImplementation(); return server.auth0Middleware(request); } /** * API認証必須ラッパー(条件的) */ async function withApiAuthRequired(handler) { const server = await getServerImplementation(); return server.withApiAuthRequired(handler); } /** * 🆕 組織API認証必須ラッパー(条件的) */ async function withOrganizationApiAuthRequired(organizationId, handler) { const server = await getServerImplementation(); return server.withOrganizationApiAuthRequired(organizationId, handler); } /** * 統合Auth Handler(条件的) */ async function handleAuth(request, route) { const server = await getServerImplementation(); return server.handleAuth(request, route); } /** * 個別Route Handler関数(条件的) */ async function handleAuthLogin(request) { const server = await getServerImplementation(); return server.handleAuthLogin(request); } async function handleAuthLogout(request) { const server = await getServerImplementation(); return server.handleAuthLogout(request); } async function handleAuthCallback(request) { const server = await getServerImplementation(); return server.handleAuthCallback(request); } async function handleAuthMe(request) { const server = await getServerImplementation(); return server.handleAuthMe(request); } /** * 🆕 組織関連Route Handler関数(条件的) */ async function handleOrganizationLogin(request) { const server = await getServerImplementation(); return server.handleOrganizationLogin(request); } async function handleOrganizationCallback(request) { const server = await getServerImplementation(); return server.handleOrganizationCallback(request); } async function handleOrganizationSelection(request) { const server = await getServerImplementation(); return server.handleOrganizationSelection(request); } /** * 🆕 組織ログインURL生成ヘルパー(条件的) */ async function buildOrganizationLoginUrl(options) { const server = await getServerImplementation(); return server.buildOrganizationLoginUrl(options); } //# sourceMappingURL=nextjs-auth0.js.map