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-jsCrie 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.
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:
data.access_token— autenticado na hora, sessão guardada para você.data.challenge— falta um segundo passo; passe o código que o usuário recebeu paraauth.verifyChallenge.- 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.