@magikauth/core
Version:
MagikAuth SDK – Auth in 2 min. Plug & Play auth for any JS framework.
1 lines • 5.13 kB
Source Map (JSON)
{"version":3,"sources":["../src/flows/emailOtp.ts","../src/config.ts","../src/client.ts","../src/utils/session.ts","../src/flows/password.ts","../src/magik.ts","../src/index.ts"],"sourcesContent":["import { createClient } from \"../client\";\nimport { Session } from \"../utils/session\";\nimport type { AuthResponse, FlowOptions } from \"../types\";\n\nconst client = createClient();\n\nexport async function sendOtp(email: string): Promise<AuthResponse> {\n return client.post(\"/v1/auth\", {\n type: \"email_otp_send\",\n email\n });\n}\n\nexport async function verifyOtp(email: string, otp: string, options?: FlowOptions): Promise<AuthResponse> {\n const res = await client.post(\"/v1/auth\", {\n type: \"email_otp_verify\",\n email,\n otp\n });\n\n if (res.token) {\n Session.set(res.token);\n // Allow password creation if new user and dev allows it\n if (options?.allowPasswordIfNewUser && res.user?.is_new_user) {\n res.message = \"User can now set password.\";\n }\n }\n\n return res;\n}\n\nexport async function setPassword(password: string): Promise<AuthResponse> {\n const token = Session.get();\n if (!token) return { success: false, message: \"No active session.\" };\n\n const res = await client.post(\"/v1/auth\", {\n type: \"set_password\",\n password,\n token\n });\n\n // Invalidate old session\n Session.clear();\n return res;\n}\n","export const MAGIK_CONFIG = {\n projectId: \"your-project-id\",\n apiKey: \"your-api-key\",\n sdkTag: \"universal@0.1.0\",\n baseUrl: \"https://magikauth.in/api\"\n};","import { MAGIK_CONFIG } from \"./config\";\n\nexport const createClient = () => {\n const headers = {\n \"X-Project-ID\": MAGIK_CONFIG.projectId,\n \"X-API-Key\": MAGIK_CONFIG.apiKey,\n \"X-SDK-Tag\": MAGIK_CONFIG.sdkTag || \"universal@0.1.0\",\n \"Content-Type\": \"application/json\"\n };\n\n const post = async (path: string, body: any) => {\n const res = await fetch(`${MAGIK_CONFIG.baseUrl}${path}`, {\n method: \"POST\",\n headers,\n body: JSON.stringify(body)\n });\n return res.json();\n };\n\n return { post };\n};","export const Session = {\n set(token: string) {\n if (typeof window !== 'undefined') {\n localStorage.setItem(\"magik_token\", token);\n }\n },\n get(): string | null {\n if (typeof window !== 'undefined') {\n return localStorage.getItem(\"magik_token\");\n }\n return null;\n },\n clear() {\n if (typeof window !== 'undefined') {\n localStorage.removeItem(\"magik_token\");\n }\n }\n};","import { createClient } from \"../client\";\nimport { Session } from \"../utils/session\";\nimport type { AuthResponse } from \"../types\";\n\nconst client = createClient();\n\nexport async function loginWithPassword(email: string, password: string): Promise<AuthResponse> {\n const res = await client.post(\"/v1/auth\", {\n type: \"email_password_login\",\n email,\n password\n });\n\n if (res.token) {\n Session.set(res.token);\n }\n\n return res;\n}","import * as emailOtpFlow from \"./flows/emailOtp\";\nimport * as passwordFlow from \"./flows/password\";\nimport { Session } from \"./utils/session\";\n\nexport function MagikAuth() {\n return {\n ...emailOtpFlow,\n ...passwordFlow,\n session: Session\n };\n}","import { MagikAuth } from \"./magik\";\nexport default MagikAuth;"],"mappings":";;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACAO,IAAM,eAAe;AAAA,EAC1B,WAAW;AAAA,EACX,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,SAAS;AACX;;;ACHO,IAAM,eAAe,MAAM;AAChC,QAAM,UAAU;AAAA,IACd,gBAAgB,aAAa;AAAA,IAC7B,aAAa,aAAa;AAAA,IAC1B,aAAa,aAAa,UAAU;AAAA,IACpC,gBAAgB;AAAA,EAClB;AAEA,QAAM,OAAO,OAAO,MAAc,SAAc;AAC9C,UAAM,MAAM,MAAM,MAAM,GAAG,aAAa,OAAO,GAAG,IAAI,IAAI;AAAA,MACxD,QAAQ;AAAA,MACR;AAAA,MACA,MAAM,KAAK,UAAU,IAAI;AAAA,IAC3B,CAAC;AACD,WAAO,IAAI,KAAK;AAAA,EAClB;AAEA,SAAO,EAAE,KAAK;AAChB;;;ACpBO,IAAM,UAAU;AAAA,EACrB,IAAI,OAAe;AACjB,QAAI,OAAO,WAAW,aAAa;AACjC,mBAAa,QAAQ,eAAe,KAAK;AAAA,IAC3C;AAAA,EACF;AAAA,EACA,MAAqB;AACnB,QAAI,OAAO,WAAW,aAAa;AACjC,aAAO,aAAa,QAAQ,aAAa;AAAA,IAC3C;AACA,WAAO;AAAA,EACT;AAAA,EACA,QAAQ;AACN,QAAI,OAAO,WAAW,aAAa;AACjC,mBAAa,WAAW,aAAa;AAAA,IACvC;AAAA,EACF;AACF;;;AHbA,IAAM,SAAS,aAAa;AAE5B,eAAsB,QAAQ,OAAsC;AAClE,SAAO,OAAO,KAAK,YAAY;AAAA,IAC7B,MAAM;AAAA,IACN;AAAA,EACF,CAAC;AACH;AAEA,eAAsB,UAAU,OAAe,KAAa,SAA8C;AACxG,QAAM,MAAM,MAAM,OAAO,KAAK,YAAY;AAAA,IACxC,MAAM;AAAA,IACN;AAAA,IACA;AAAA,EACF,CAAC;AAED,MAAI,IAAI,OAAO;AACb,YAAQ,IAAI,IAAI,KAAK;AAErB,QAAI,SAAS,0BAA0B,IAAI,MAAM,aAAa;AAC5D,UAAI,UAAU;AAAA,IAChB;AAAA,EACF;AAEA,SAAO;AACT;AAEA,eAAsB,YAAY,UAAyC;AACzE,QAAM,QAAQ,QAAQ,IAAI;AAC1B,MAAI,CAAC,MAAO,QAAO,EAAE,SAAS,OAAO,SAAS,qBAAqB;AAEnE,QAAM,MAAM,MAAM,OAAO,KAAK,YAAY;AAAA,IACxC,MAAM;AAAA,IACN;AAAA,IACA;AAAA,EACF,CAAC;AAGD,UAAQ,MAAM;AACd,SAAO;AACT;;;AI5CA;AAAA;AAAA;AAAA;AAIA,IAAMA,UAAS,aAAa;AAE5B,eAAsB,kBAAkB,OAAe,UAAyC;AAC9F,QAAM,MAAM,MAAMA,QAAO,KAAK,YAAY;AAAA,IACxC,MAAM;AAAA,IACN;AAAA,IACA;AAAA,EACF,CAAC;AAED,MAAI,IAAI,OAAO;AACb,YAAQ,IAAI,IAAI,KAAK;AAAA,EACvB;AAEA,SAAO;AACT;;;ACdO,SAAS,YAAY;AAC1B,SAAO;AAAA,IACL,GAAG;AAAA,IACH,GAAG;AAAA,IACH,SAAS;AAAA,EACX;AACF;;;ACTA,IAAO,gBAAQ;","names":["client"]}