nilo-auth
v0.1.4
Published
Auth SDK for login/register with cookie-based auth and CSRF support
Readme
Auth SDK
TypeScript SDK for login/register using cookie-based auth and CSRF.
Install
npm installBuild
npm run buildUsage
import { createAuthClient } from "./dist/auth-sdk.umd.js";
const auth = createAuthClient({
baseUrl: "/api",
appleClientId: "com.nilo.users",
appleRedirectUri: "https://sgnilo.cn/api/auth/apple_sign_in_callback",
});
await auth.login({ username: "demo", password: "demo" });
await auth.register({ username: "demo", email: "[email protected]", password: "demo" });Apple Web Login
Login page:
await auth.startAppleWebLogin({
redirect: "/profile",
});Result page (https://sgnilo.cn/auth/apple) after backend callback redirect:
const params = new URLSearchParams(window.location.search);
if (params.get("ok") === "1") {
const next = params.get("next") || "/";
window.location.replace(next);
}By default, startAppleWebLogin is for the form_post flow where Apple posts to your backend callback (appleRedirectUri) and backend then redirects to the result page.
You can still override clientId / redirectUri in startAppleWebLogin when needed.
By default it uses response_type=code id_token and response_mode=form_post.
If you load the UMD bundle in a browser, it exposes AuthSDK as a global.
<script src="/path/to/auth-sdk.umd.js"></script>
<script>
const client = new AuthSDK.AuthClient({ baseUrl: "/api" });
client.login({ username: "demo", password: "demo" });
</script>Demo
npm install
npm run build
node examples/serve.jsOpen http://localhost:5177 and set the Base URL to your API origin (e.g. http://localhost:3000/api).
