Installation & Setup
Install and configure the Neuctra Authix SDK. You must provide appName, baseUrl, apiKey, and appId.
Install SDK
1npm install @neuctra/authixEnvironment Variables
Store credentials securely in environment variables. Never hardcode API keys.
Bash
1# .env
2#
3# VITE_ variables are compiled into your bundle and are public.
4# Only a publishable key belongs here.
5
6VITE_AUTHIX_PUBLISHABLE_KEY=pk_live_xxxxxxxx_xxxxxxxxxxxxxxxx
7VITE_AUTHIX_APP_ID=your_app_id_hereInitialize SDK
Create a single reusable instance for your application.
Typescript
1import { NeuctraAuthix } from "@neuctra/authix";
2
3export const authix = new NeuctraAuthix({
4 appName: "MyApp",
5 baseUrl: "https://server.authix.neuctra.com/api",
6 publishableKey: import.meta.env.VITE_AUTHIX_PUBLISHABLE_KEY,
7 appId: import.meta.env.VITE_AUTHIX_APP_ID,
8});Next.js Setup
Use client-side only for session-based operations. SSR will not have access to cookies.
Typescript
1// lib/authix.ts — client instance
2import { NeuctraAuthix } from "@neuctra/authix";
3
4export const authix = new NeuctraAuthix({
5 appName: "MyApp",
6 baseUrl: process.env.NEXT_PUBLIC_AUTHIX_BASE_URL!,
7 publishableKey: process.env.NEXT_PUBLIC_AUTHIX_PUBLISHABLE_KEY!,
8 appId: process.env.NEXT_PUBLIC_AUTHIX_APP_ID!,
9});
10
11
12// lib/authix.server.ts — server instance, for privileged calls only
13import "server-only";
14import { NeuctraAuthix } from "@neuctra/authix";
15
16export const authixAdmin = new NeuctraAuthix({
17 baseUrl: process.env.NEXT_PUBLIC_AUTHIX_BASE_URL!,
18
19 // No NEXT_PUBLIC_ prefix — this must never reach the browser.
20 secretKey: process.env.AUTHIX_SECRET_KEY!,
21 appId: process.env.NEXT_PUBLIC_AUTHIX_APP_ID!,
22});Quick Start
Typescript
1export const signup = (name, email, password) =>
2 authix.signupUser({ name, email, password });
3
4export const login = (email, password) =>
5 authix.loginUser({ email, password });
6
7export const checkSession = () =>
8 authix.checkUserSession();Error Handling
SDK errors include message and optional status.
Typescript
1try {
2 await authix.loginUser({ email, password });
3} catch (err) {
4 console.error(err?.message, err?.status);
5}Production Notes
- Auth routes use HTTP-only cookies (ensure proper CORS setup).
- User/App data routes use API key authentication only.
- Never expose API keys in public frontend logic for admin-level operations.
- Validate inputs before calling SDK methods.
Next Steps
- Authentication: signupUser, loginUser
- Sessions: checkUserSession
- User APIs: getUser, updateUser
- Data APIs: addUserData, addAppData