UNPKG

@zeushq/nextjs-zidentity

Version:

Next.js SDK for signin in with Zeus Identity

59 lines (55 loc) 2.18 kB
import { InitZeusIdentity, SignInWithZeusAuth } from './instance'; import { GetAccessToken, GetSession } from './session'; import { WithApiAuthRequired } from './helpers'; import { HandleAuth, HandleCallback, HandleLogin, HandleLogout, HandleProfile } from './handlers'; export { UserProvider, UserProviderProps, UserProfile, UserContext, useUser, withPageAuthRequired, WithPageAuthRequired } from './frontend'; const serverSideOnly = (method: string): string => `The ${method} method can only be used from the server side`; const instance: SignInWithZeusAuth = { getSession() { throw new Error(serverSideOnly('getSession')); }, getAccessToken() { throw new Error(serverSideOnly('getAccessToken')); }, withApiAuthRequired() { throw new Error(serverSideOnly('withApiAuthRequired')); }, withApiAuthOptional() { throw new Error(serverSideOnly('withApiAuthOptional')); }, handleLogin() { throw new Error(serverSideOnly('handleLogin')); }, handleLogout() { throw new Error(serverSideOnly('handleLogout')); }, handleCallback() { throw new Error(serverSideOnly('handleCallback')); }, handleProfile() { throw new Error(serverSideOnly('handleProfile')); }, handleAuth() { throw new Error(serverSideOnly('handleAuth')); }, withPageAuthRequired() { throw new Error(serverSideOnly('withPageAuthRequired')); } }; export const initZeusIdentity: InitZeusIdentity = () => instance; export const getSession: GetSession = (...args) => instance.getSession(...args); export const getAccessToken: GetAccessToken = (...args) => instance.getAccessToken(...args); export const withApiAuthRequired: WithApiAuthRequired = (...args) => instance.withApiAuthRequired(...args); export const handleLogin: HandleLogin = (...args) => instance.handleLogin(...args); export const handleLogout: HandleLogout = (...args) => instance.handleLogout(...args); export const handleCallback: HandleCallback = (...args) => instance.handleCallback(...args); export const handleProfile: HandleProfile = (...args) => instance.handleProfile(...args); export const handleAuth: HandleAuth = (...args) => instance.handleAuth(...args);