Documentação

Quickstart

Crie um client e autentique seu primeiro usuário.

Isto leva você de um projeto vazio até uma sessão autenticada. Presume que você já tem um projeto no console e a chave publicável dele.

Instale o SDK

npm install @nulvless/nulvless-js

Crie um client

No navegador você usa a chave publicável. Ela pode ir para produção — só consegue fazer o que o usuário autenticado já poderia.

lib/nulvless.ts
import { createClient } from '@nulvless/nulvless-js';

export const nulvless = createClient(
  'https://<project>.nulvless.co',
  'pk-…',
);

A URL é o issuer do seu ambiente. Cada ambiente tem o seu, então apontar para staging é trocar esse valor — nada mais no seu código muda.

Cadastre um usuário

Pelo menos um entre email, phone ou username é obrigatório.

const { data, error } = await nulvless.auth.signUp({
  email: '[email protected]',
  password,
});

Verifique a resposta nesta ordem:

  1. data.access_token — autenticado na hora, sessão guardada para você.
  2. data.challenge — falta um segundo passo; passe o código que o usuário recebeu para auth.verifyChallenge.
  3. só data.user — a conta existe e aguarda confirmação de e-mail ou telefone.

Faça o login

const { data, error } = await nulvless.auth.signIn({
  email: '[email protected]',
  password,
});

if (error) {
  // error.code, error.message, error.status_code
  return;
}

Nada lança exceção. Todo método devolve { data, error }, e exatamente um dos dois vem preenchido.

Leia a sessão

const { data: session } = await nulvless.auth.getSession();

A sessão carrega o usuário, o dispositivo e a localização de onde foi criada, e se o modo sudo está ativo no momento.

Verifique o que ele pode fazer

verify responde uma pergunta de permissão contra um recurso, sem você rodar um policy engine.

const { data: verified } = await nulvless.auth.verify({
  resource: 'proj_16tbwq34',
  roles: ['owner', 'admin'],
});

Você pode perguntar por roles, por scopes, ou pelos dois.

A seguir

Nesta página