Pular para o conteúdo

Account

Conta do usuário logado: cadastro, sessões, verificação de e-mail, recuperação de senha, MFA e preferências.

Classe Account: 67 métodos (67 no @owbase/web, 65 no @owbase/node). Os exemplos usam a forma de objeto dos parâmetros; troque os valores entre < e > pelos seus.

Obter conta

SDK: @owbase/web e @owbase/node

Obtém o usuário logado.

Sem parâmetros.

Acesso: sessão do usuário (vale o que as permissões do recurso deixam).

@owbase/web
import { Client, Account } from '@owbase/web';
const client = new Client()
.setEndpoint('https://cloud.owbase.dev/v1') // endpoint da API
.setProject('<YOUR_PROJECT_ID>'); // ID do projeto
const account = new Account(client);
const result = await account.get();
console.log(result);
@owbase/node
import { Client, Account } from '@owbase/node';
const client = new Client()
.setEndpoint('https://cloud.owbase.dev/v1') // endpoint da API
.setProject('<YOUR_PROJECT_ID>') // ID do projeto
.setSession(''); // sessão do usuário
const account = new Account(client);
const result = await account.get();

Criar conta

SDK: @owbase/web e @owbase/node

Permite que um novo usuário crie uma conta no seu projeto. Depois do cadastro, use a rota /account/verification para começar a verificação do e-mail do usuário. Para o novo usuário entrar na conta, é preciso criar uma sessão da conta.

Parâmetro Tipo Obrigatório Descrição
userId string sim ID do usuário. Escolha um ID próprio ou gere um ID aleatório com ID.unique(). Caracteres válidos: a-z, A-Z, 0-9, ponto, hífen e sublinhado. Não pode começar com caractere especial. Tamanho máximo: 36 caracteres.
email string sim E-mail do usuário.
password string sim Nova senha do usuário. Precisa ter entre 8 e 256 caracteres.
name string não Nome do usuário. Tamanho máximo: 128 caracteres.

Acesso: sem chave nem sessão: basta o ID do projeto.

@owbase/web
import { Client, Account } from '@owbase/web';
const client = new Client()
.setEndpoint('https://cloud.owbase.dev/v1') // endpoint da API
.setProject('<YOUR_PROJECT_ID>'); // ID do projeto
const account = new Account(client);
const result = await account.create({
userId: '<USER_ID>',
password: 'password',
name: '<NAME>', // opcional
});
console.log(result);
@owbase/node
import { Client, Account } from '@owbase/node';
const client = new Client()
.setEndpoint('https://cloud.owbase.dev/v1') // endpoint da API
.setProject('<YOUR_PROJECT_ID>') // ID do projeto
.setSession(''); // sessão do usuário
const account = new Account(client);
const result = await account.create({
userId: '<USER_ID>',
password: 'password',
name: '<NAME>', // opcional
});

Atualizar e-mail

SDK: @owbase/web e @owbase/node

Atualiza o e-mail da conta do usuário logado. Depois da troca, o status de confirmação do e-mail é redefinido. Um novo e-mail de confirmação não é enviado automaticamente, mas você pode usar de novo o endpoint de envio do e-mail de confirmação. Por segurança, este pedido exige a senha do usuário. Este endpoint também converte uma conta anônima numa conta comum, quando recebe um e-mail e uma senha nova.

Parâmetro Tipo Obrigatório Descrição
email string sim E-mail do usuário.
password string sim Senha do usuário. Precisa ter pelo menos 8 caracteres.

Acesso: sessão do usuário (vale o que as permissões do recurso deixam).

@owbase/web
import { Client, Account } from '@owbase/web';
const client = new Client()
.setEndpoint('https://cloud.owbase.dev/v1') // endpoint da API
.setProject('<YOUR_PROJECT_ID>'); // ID do projeto
const account = new Account(client);
const result = await account.updateEmail({
password: 'password',
});
console.log(result);
@owbase/node
import { Client, Account } from '@owbase/node';
const client = new Client()
.setEndpoint('https://cloud.owbase.dev/v1') // endpoint da API
.setProject('<YOUR_PROJECT_ID>') // ID do projeto
.setSession(''); // sessão do usuário
const account = new Account(client);
const result = await account.updateEmail({
password: 'password',
});

Listar identidades

SDK: @owbase/web e @owbase/node

Obtém a lista de identidades do usuário logado.

Parâmetro Tipo Obrigatório Descrição
queries string[] não Lista de consultas geradas com a classe Query do SDK. Saiba mais sobre consultas. No máximo 100 consultas, cada uma com até 4096 caracteres. É possível filtrar pelos atributos: userId, provider, providerUid, providerEmail, providerAccessTokenExpiry
total boolean não Com false, o total não é calculado e volta como 0.

Acesso: sessão do usuário (vale o que as permissões do recurso deixam).

@owbase/web
import { Client, Account } from '@owbase/web';
const client = new Client()
.setEndpoint('https://cloud.owbase.dev/v1') // endpoint da API
.setProject('<YOUR_PROJECT_ID>'); // ID do projeto
const account = new Account(client);
const result = await account.listIdentities({
queries: [], // opcional
total: false, // opcional
});
console.log(result);
@owbase/node
import { Client, Account } from '@owbase/node';
const client = new Client()
.setEndpoint('https://cloud.owbase.dev/v1') // endpoint da API
.setProject('<YOUR_PROJECT_ID>') // ID do projeto
.setSession(''); // sessão do usuário
const account = new Account(client);
const result = await account.listIdentities({
queries: [], // opcional
total: false, // opcional
});

Excluir identidade

SDK: @owbase/web e @owbase/node

Exclui uma identidade pelo ID.

Parâmetro Tipo Obrigatório Descrição
identityId string sim ID da identidade.

Acesso: sessão do usuário (vale o que as permissões do recurso deixam).

@owbase/web
import { Client, Account } from '@owbase/web';
const client = new Client()
.setEndpoint('https://cloud.owbase.dev/v1') // endpoint da API
.setProject('<YOUR_PROJECT_ID>'); // ID do projeto
const account = new Account(client);
const result = await account.deleteIdentity({
identityId: '<IDENTITY_ID>',
});
console.log(result);
@owbase/node
import { Client, Account } from '@owbase/node';
const client = new Client()
.setEndpoint('https://cloud.owbase.dev/v1') // endpoint da API
.setProject('<YOUR_PROJECT_ID>') // ID do projeto
.setSession(''); // sessão do usuário
const account = new Account(client);
const result = await account.deleteIdentity({
identityId: '<IDENTITY_ID>',
});

Criar JWT

SDK: só @owbase/web

Cria um JSON Web Token. Use o JWT gerado para se autenticar em nome do usuário atual ao usar a API de servidor e os SDKs do Owbase. O segredo do JWT vale por 15 minutos a partir da criação e deixa de valer se o usuário sair nesse intervalo.

Parâmetro Tipo Obrigatório Descrição
duration number não Tempo em segundos até o JWT expirar. O padrão é 900 segundos, e o máximo, 3600 segundos.

Acesso: sessão do usuário (vale o que as permissões do recurso deixam).

@owbase/web
import { Client, Account } from '@owbase/web';
const client = new Client()
.setEndpoint('https://cloud.owbase.dev/v1') // endpoint da API
.setProject('<YOUR_PROJECT_ID>'); // ID do projeto
const account = new Account(client);
const result = await account.createJWT({
duration: 0, // opcional
});
console.log(result);

Atualizar MFA

SDK: @owbase/web e @owbase/node

Liga ou desliga o MFA numa conta.

Parâmetro Tipo Obrigatório Descrição
mfa boolean sim Liga ou desliga o MFA.

Acesso: sessão do usuário (vale o que as permissões do recurso deixam).

@owbase/web
import { Client, Account } from '@owbase/web';
const client = new Client()
.setEndpoint('https://cloud.owbase.dev/v1') // endpoint da API
.setProject('<YOUR_PROJECT_ID>'); // ID do projeto
const account = new Account(client);
const result = await account.updateMFA({
mfa: false,
});
console.log(result);
@owbase/node
import { Client, Account } from '@owbase/node';
const client = new Client()
.setEndpoint('https://cloud.owbase.dev/v1') // endpoint da API
.setProject('<YOUR_PROJECT_ID>') // ID do projeto
.setSession(''); // sessão do usuário
const account = new Account(client);
const result = await account.updateMFA({
mfa: false,
});

Criar autenticador

SDK: @owbase/web e @owbase/node

Adiciona um app autenticador para usar como fator de MFA. Verifique o autenticador com o método verificar autenticador.

Parâmetro Tipo Obrigatório Descrição
type AuthenticatorType sim Tipo de autenticador. Precisa ser totp Valores: totp.

Acesso: sessão do usuário (vale o que as permissões do recurso deixam).

@owbase/web
import { Client, Account, AuthenticatorType } from '@owbase/web';
const client = new Client()
.setEndpoint('https://cloud.owbase.dev/v1') // endpoint da API
.setProject('<YOUR_PROJECT_ID>'); // ID do projeto
const account = new Account(client);
const result = await account.createMFAAuthenticator({
type: AuthenticatorType.Totp,
});
console.log(result);
@owbase/node
import { Client, Account, AuthenticatorType } from '@owbase/node';
const client = new Client()
.setEndpoint('https://cloud.owbase.dev/v1') // endpoint da API
.setProject('<YOUR_PROJECT_ID>') // ID do projeto
.setSession(''); // sessão do usuário
const account = new Account(client);
const result = await account.createMFAAuthenticator({
type: AuthenticatorType.Totp,
});

Criar autenticador

SDK: @owbase/web e @owbase/node

Adiciona um app autenticador para usar como fator de MFA. Verifique o autenticador com o método verificar autenticador.

Parâmetro Tipo Obrigatório Descrição
type AuthenticatorType sim Tipo de autenticador. Precisa ser totp Valores: totp.

Acesso: sessão do usuário (vale o que as permissões do recurso deixam).

Sem exemplo próprio: veja o do método que o substitui.

Atualizar autenticador (confirmação)

SDK: @owbase/web e @owbase/node

Verifica um app autenticador depois de adicioná-lo com o método adicionar autenticador.

Parâmetro Tipo Obrigatório Descrição
type AuthenticatorType sim Tipo de autenticador. Valores: totp.
otp string sim Token de verificação válido.

Acesso: sessão do usuário (vale o que as permissões do recurso deixam).

@owbase/web
import { Client, Account, AuthenticatorType } from '@owbase/web';
const client = new Client()
.setEndpoint('https://cloud.owbase.dev/v1') // endpoint da API
.setProject('<YOUR_PROJECT_ID>'); // ID do projeto
const account = new Account(client);
const result = await account.updateMFAAuthenticator({
type: AuthenticatorType.Totp,
otp: '<OTP>',
});
console.log(result);
@owbase/node
import { Client, Account, AuthenticatorType } from '@owbase/node';
const client = new Client()
.setEndpoint('https://cloud.owbase.dev/v1') // endpoint da API
.setProject('<YOUR_PROJECT_ID>') // ID do projeto
.setSession(''); // sessão do usuário
const account = new Account(client);
const result = await account.updateMFAAuthenticator({
type: AuthenticatorType.Totp,
otp: '<OTP>',
});

Atualizar autenticador (confirmação)

SDK: @owbase/web e @owbase/node

Verifica um app autenticador depois de adicioná-lo com o método adicionar autenticador.

Parâmetro Tipo Obrigatório Descrição
type AuthenticatorType sim Tipo de autenticador. Valores: totp.
otp string sim Token de verificação válido.

Acesso: sessão do usuário (vale o que as permissões do recurso deixam).

Sem exemplo próprio: veja o do método que o substitui.

Excluir autenticador

SDK: @owbase/web e @owbase/node

Exclui um autenticador do usuário pelo ID.

Parâmetro Tipo Obrigatório Descrição
type AuthenticatorType sim Tipo de autenticador. Valores: totp.

Acesso: sessão do usuário (vale o que as permissões do recurso deixam).

@owbase/web
import { Client, Account, AuthenticatorType } from '@owbase/web';
const client = new Client()
.setEndpoint('https://cloud.owbase.dev/v1') // endpoint da API
.setProject('<YOUR_PROJECT_ID>'); // ID do projeto
const account = new Account(client);
const result = await account.deleteMFAAuthenticator({
type: AuthenticatorType.Totp,
});
console.log(result);
@owbase/node
import { Client, Account, AuthenticatorType } from '@owbase/node';
const client = new Client()
.setEndpoint('https://cloud.owbase.dev/v1') // endpoint da API
.setProject('<YOUR_PROJECT_ID>') // ID do projeto
.setSession(''); // sessão do usuário
const account = new Account(client);
const result = await account.deleteMFAAuthenticator({
type: AuthenticatorType.Totp,
});

Excluir autenticador

SDK: @owbase/web e @owbase/node

Exclui um autenticador do usuário pelo ID.

Parâmetro Tipo Obrigatório Descrição
type AuthenticatorType sim Tipo de autenticador. Valores: totp.

Acesso: sessão do usuário (vale o que as permissões do recurso deixam).

Sem exemplo próprio: veja o do método que o substitui.

Criar desafio de MFA

SDK: @owbase/web e @owbase/node

Começa a verificação de MFA depois do login. Conclua o fluxo com o método updateMfaChallenge.

Parâmetro Tipo Obrigatório Descrição
factor AuthenticationFactor sim Fator usado na verificação. Precisa ser um destes: email, phone, totp, recoveryCode, custom. Valores: email, phone, totp, recoverycode, custom.

Acesso: sessão do usuário (vale o que as permissões do recurso deixam).

@owbase/web
import { Client, Account, AuthenticationFactor } from '@owbase/web';
const client = new Client()
.setEndpoint('https://cloud.owbase.dev/v1') // endpoint da API
.setProject('<YOUR_PROJECT_ID>'); // ID do projeto
const account = new Account(client);
const result = await account.createMFAChallenge({
factor: AuthenticationFactor.Email,
});
console.log(result);
@owbase/node
import { Client, Account, AuthenticationFactor } from '@owbase/node';
const client = new Client()
.setEndpoint('https://cloud.owbase.dev/v1') // endpoint da API
.setProject('<YOUR_PROJECT_ID>') // ID do projeto
.setSession(''); // sessão do usuário
const account = new Account(client);
const result = await account.createMFAChallenge({
factor: AuthenticationFactor.Email,
});

Criar desafio de MFA

SDK: @owbase/web e @owbase/node

Começa a verificação de MFA depois do login. Conclua o fluxo com o método updateMfaChallenge.

Parâmetro Tipo Obrigatório Descrição
factor AuthenticationFactor sim Fator usado na verificação. Precisa ser um destes: email, phone, totp, recoveryCode, custom. Valores: email, phone, totp, recoverycode, custom.

Acesso: sessão do usuário (vale o que as permissões do recurso deixam).

Sem exemplo próprio: veja o do método que o substitui.

Atualizar desafio de MFA (confirmação)

SDK: @owbase/web e @owbase/node

Conclui o desafio de MFA com a senha de uso único. Encerra a verificação de MFA com a senha de uso único. Para começar o fluxo, use o método createMfaChallenge.

Parâmetro Tipo Obrigatório Descrição
challengeId string sim ID do desafio.
otp string sim Token de verificação válido.

Acesso: sessão do usuário (vale o que as permissões do recurso deixam).

@owbase/web
import { Client, Account } from '@owbase/web';
const client = new Client()
.setEndpoint('https://cloud.owbase.dev/v1') // endpoint da API
.setProject('<YOUR_PROJECT_ID>'); // ID do projeto
const account = new Account(client);
const result = await account.updateMFAChallenge({
challengeId: '<CHALLENGE_ID>',
otp: '<OTP>',
});
console.log(result);
@owbase/node
import { Client, Account } from '@owbase/node';
const client = new Client()
.setEndpoint('https://cloud.owbase.dev/v1') // endpoint da API
.setProject('<YOUR_PROJECT_ID>') // ID do projeto
.setSession(''); // sessão do usuário
const account = new Account(client);
const result = await account.updateMFAChallenge({
challengeId: '<CHALLENGE_ID>',
otp: '<OTP>',
});

Atualizar desafio de MFA (confirmação)

SDK: @owbase/web e @owbase/node

Conclui o desafio de MFA com a senha de uso único. Encerra a verificação de MFA com a senha de uso único. Para começar o fluxo, use o método createMfaChallenge.

Parâmetro Tipo Obrigatório Descrição
challengeId string sim ID do desafio.
otp string sim Token de verificação válido.

Acesso: sessão do usuário (vale o que as permissões do recurso deixam).

Sem exemplo próprio: veja o do método que o substitui.

Listar fatores

SDK: @owbase/web e @owbase/node

Lista os fatores disponíveis na conta para usar num desafio de MFA.

Sem parâmetros.

Acesso: sessão do usuário (vale o que as permissões do recurso deixam).

@owbase/web
import { Client, Account } from '@owbase/web';
const client = new Client()
.setEndpoint('https://cloud.owbase.dev/v1') // endpoint da API
.setProject('<YOUR_PROJECT_ID>'); // ID do projeto
const account = new Account(client);
const result = await account.listMFAFactors();
console.log(result);
@owbase/node
import { Client, Account } from '@owbase/node';
const client = new Client()
.setEndpoint('https://cloud.owbase.dev/v1') // endpoint da API
.setProject('<YOUR_PROJECT_ID>') // ID do projeto
.setSession(''); // sessão do usuário
const account = new Account(client);
const result = await account.listMFAFactors();

Listar fatores

SDK: @owbase/web e @owbase/node

Lista os fatores disponíveis na conta para usar num desafio de MFA.

Sem parâmetros.

Acesso: sessão do usuário (vale o que as permissões do recurso deixam).

Sem exemplo próprio: veja o do método que o substitui.

Listar códigos de recuperação de MFA

SDK: @owbase/web e @owbase/node

Obtém os códigos de recuperação que servem de reserva no fluxo de MFA. Antes, os códigos precisam ter sido gerados com o método createMfaRecoveryCodes. Ler os códigos de recuperação exige um desafio OTP.

Sem parâmetros.

Acesso: sessão do usuário (vale o que as permissões do recurso deixam).

@owbase/web
import { Client, Account } from '@owbase/web';
const client = new Client()
.setEndpoint('https://cloud.owbase.dev/v1') // endpoint da API
.setProject('<YOUR_PROJECT_ID>'); // ID do projeto
const account = new Account(client);
const result = await account.getMFARecoveryCodes();
console.log(result);
@owbase/node
import { Client, Account } from '@owbase/node';
const client = new Client()
.setEndpoint('https://cloud.owbase.dev/v1') // endpoint da API
.setProject('<YOUR_PROJECT_ID>') // ID do projeto
.setSession(''); // sessão do usuário
const account = new Account(client);
const result = await account.getMFARecoveryCodes();

Listar códigos de recuperação de MFA

SDK: @owbase/web e @owbase/node

Obtém os códigos de recuperação que servem de reserva no fluxo de MFA. Antes, os códigos precisam ter sido gerados com o método createMfaRecoveryCodes. Ler os códigos de recuperação exige um desafio OTP.

Sem parâmetros.

Acesso: sessão do usuário (vale o que as permissões do recurso deixam).

Sem exemplo próprio: veja o do método que o substitui.

Criar códigos de recuperação de MFA

SDK: @owbase/web e @owbase/node

Gera códigos de recuperação como reserva do fluxo de MFA. O recomendado é gerá-los e mostrá-los logo depois que o usuário adiciona o autenticador. Os códigos de recuperação podem ser usados como tipo de verificação de MFA no método createMfaChallenge.

Sem parâmetros.

Acesso: sessão do usuário (vale o que as permissões do recurso deixam).

@owbase/web
import { Client, Account } from '@owbase/web';
const client = new Client()
.setEndpoint('https://cloud.owbase.dev/v1') // endpoint da API
.setProject('<YOUR_PROJECT_ID>'); // ID do projeto
const account = new Account(client);
const result = await account.createMFARecoveryCodes();
console.log(result);
@owbase/node
import { Client, Account } from '@owbase/node';
const client = new Client()
.setEndpoint('https://cloud.owbase.dev/v1') // endpoint da API
.setProject('<YOUR_PROJECT_ID>') // ID do projeto
.setSession(''); // sessão do usuário
const account = new Account(client);
const result = await account.createMFARecoveryCodes();

Criar códigos de recuperação de MFA

SDK: @owbase/web e @owbase/node

Gera códigos de recuperação como reserva do fluxo de MFA. O recomendado é gerá-los e mostrá-los logo depois que o usuário adiciona o autenticador. Os códigos de recuperação podem ser usados como tipo de verificação de MFA no método createMfaChallenge.

Sem parâmetros.

Acesso: sessão do usuário (vale o que as permissões do recurso deixam).

Sem exemplo próprio: veja o do método que o substitui.

Atualizar códigos de recuperação de MFA (gerar de novo)

SDK: @owbase/web e @owbase/node

Gera de novo os códigos de recuperação que servem de reserva no fluxo de MFA. Antes, os códigos precisam ter sido gerados com o método createMfaRecoveryCodes. Gerar de novo os códigos de recuperação exige um desafio OTP.

Sem parâmetros.

Acesso: sessão do usuário (vale o que as permissões do recurso deixam).

@owbase/web
import { Client, Account } from '@owbase/web';
const client = new Client()
.setEndpoint('https://cloud.owbase.dev/v1') // endpoint da API
.setProject('<YOUR_PROJECT_ID>'); // ID do projeto
const account = new Account(client);
const result = await account.updateMFARecoveryCodes();
console.log(result);
@owbase/node
import { Client, Account } from '@owbase/node';
const client = new Client()
.setEndpoint('https://cloud.owbase.dev/v1') // endpoint da API
.setProject('<YOUR_PROJECT_ID>') // ID do projeto
.setSession(''); // sessão do usuário
const account = new Account(client);
const result = await account.updateMFARecoveryCodes();

Atualizar códigos de recuperação de MFA (gerar de novo)

SDK: @owbase/web e @owbase/node

Gera de novo os códigos de recuperação que servem de reserva no fluxo de MFA. Antes, os códigos precisam ter sido gerados com o método createMfaRecoveryCodes. Gerar de novo os códigos de recuperação exige um desafio OTP.

Sem parâmetros.

Acesso: sessão do usuário (vale o que as permissões do recurso deixam).

Sem exemplo próprio: veja o do método que o substitui.

Atualizar nome

SDK: @owbase/web e @owbase/node

Atualiza o nome da conta do usuário logado.

Parâmetro Tipo Obrigatório Descrição
name string sim Nome do usuário. Tamanho máximo: 128 caracteres.

Acesso: sessão do usuário (vale o que as permissões do recurso deixam).

@owbase/web
import { Client, Account } from '@owbase/web';
const client = new Client()
.setEndpoint('https://cloud.owbase.dev/v1') // endpoint da API
.setProject('<YOUR_PROJECT_ID>'); // ID do projeto
const account = new Account(client);
const result = await account.updateName({
name: '<NAME>',
});
console.log(result);
@owbase/node
import { Client, Account } from '@owbase/node';
const client = new Client()
.setEndpoint('https://cloud.owbase.dev/v1') // endpoint da API
.setProject('<YOUR_PROJECT_ID>') // ID do projeto
.setSession(''); // sessão do usuário
const account = new Account(client);
const result = await account.updateName({
name: '<NAME>',
});

Listar passkeys

SDK: @owbase/web e @owbase/node

Obtém a lista de passkeys verificadas que o usuário logado cadastrou.

Parâmetro Tipo Obrigatório Descrição
queries string[] não Lista de consultas geradas com a classe Query do SDK. Saiba mais sobre consultas. No máximo 100 consultas, cada uma com até 4096 caracteres. É possível filtrar e ordenar pelos atributos: $id, $createdAt, $updatedAt, name, accessedAt
total boolean não Com false, o total não é calculado e volta como 0.

Acesso: sessão do usuário (vale o que as permissões do recurso deixam).

@owbase/web
import { Client, Account } from '@owbase/web';
const client = new Client()
.setEndpoint('https://cloud.owbase.dev/v1') // endpoint da API
.setProject('<YOUR_PROJECT_ID>'); // ID do projeto
const account = new Account(client);
const result = await account.listPasskeys({
queries: [], // opcional
total: false, // opcional
});
console.log(result);
@owbase/node
import { Client, Account } from '@owbase/node';
const client = new Client()
.setEndpoint('https://cloud.owbase.dev/v1') // endpoint da API
.setProject('<YOUR_PROJECT_ID>') // ID do projeto
.setSession(''); // sessão do usuário
const account = new Account(client);
const result = await account.listPasskeys({
queries: [], // opcional
total: false, // opcional
});

Criar passkey

SDK: @owbase/web e @owbase/node

Começa o cadastro de uma passkey para o usuário logado. A sessão precisa ter feito login ou concluído um desafio de MFA nos últimos 10 minutos. Passe as opções publicKey devolvidas para navigator.credentials.create() e conclua o cadastro com Atualizar verificação da passkey. A passkey fica pendente até ser verificada, e o desafio expira em 5 minutos.

Parâmetro Tipo Obrigatório Descrição
passkeyId string não ID da passkey. Escolha um ID próprio ou gere um ID aleatório com ID.unique(). Caracteres válidos: a-z, A-Z, 0-9, ponto, hífen e sublinhado. Não pode começar com caractere especial. Tamanho máximo: 36 caracteres.
name string não Nome da passkey, exibido ao listar as passkeys. Tamanho máximo: 128 caracteres.

Acesso: sessão do usuário (vale o que as permissões do recurso deixam).

@owbase/web
import { Client, Account } from '@owbase/web';
const client = new Client()
.setEndpoint('https://cloud.owbase.dev/v1') // endpoint da API
.setProject('<YOUR_PROJECT_ID>'); // ID do projeto
const account = new Account(client);
const result = await account.createPasskey({
passkeyId: '<PASSKEY_ID>', // opcional
name: '<NAME>', // opcional
});
console.log(result);
@owbase/node
import { Client, Account } from '@owbase/node';
const client = new Client()
.setEndpoint('https://cloud.owbase.dev/v1') // endpoint da API
.setProject('<YOUR_PROJECT_ID>') // ID do projeto
.setSession(''); // sessão do usuário
const account = new Account(client);
const result = await account.createPasskey({
passkeyId: '<PASSKEY_ID>', // opcional
name: '<NAME>', // opcional
});

Obter passkey

SDK: @owbase/web e @owbase/node

Obtém uma passkey verificada do usuário logado pelo ID.

Parâmetro Tipo Obrigatório Descrição
passkeyId string sim ID da passkey.

Acesso: sessão do usuário (vale o que as permissões do recurso deixam).

@owbase/web
import { Client, Account } from '@owbase/web';
const client = new Client()
.setEndpoint('https://cloud.owbase.dev/v1') // endpoint da API
.setProject('<YOUR_PROJECT_ID>'); // ID do projeto
const account = new Account(client);
const result = await account.getPasskey({
passkeyId: '<PASSKEY_ID>',
});
console.log(result);
@owbase/node
import { Client, Account } from '@owbase/node';
const client = new Client()
.setEndpoint('https://cloud.owbase.dev/v1') // endpoint da API
.setProject('<YOUR_PROJECT_ID>') // ID do projeto
.setSession(''); // sessão do usuário
const account = new Account(client);
const result = await account.getPasskey({
passkeyId: '<PASSKEY_ID>',
});

Atualizar passkey

SDK: @owbase/web e @owbase/node

Renomeia uma passkey do usuário logado.

Parâmetro Tipo Obrigatório Descrição
passkeyId string sim ID da passkey.
name string sim Nome da passkey. Tamanho máximo: 128 caracteres.

Acesso: sessão do usuário (vale o que as permissões do recurso deixam).

@owbase/web
import { Client, Account } from '@owbase/web';
const client = new Client()
.setEndpoint('https://cloud.owbase.dev/v1') // endpoint da API
.setProject('<YOUR_PROJECT_ID>'); // ID do projeto
const account = new Account(client);
const result = await account.updatePasskey({
passkeyId: '<PASSKEY_ID>',
name: '<NAME>',
});
console.log(result);
@owbase/node
import { Client, Account } from '@owbase/node';
const client = new Client()
.setEndpoint('https://cloud.owbase.dev/v1') // endpoint da API
.setProject('<YOUR_PROJECT_ID>') // ID do projeto
.setSession(''); // sessão do usuário
const account = new Account(client);
const result = await account.updatePasskey({
passkeyId: '<PASSKEY_ID>',
name: '<NAME>',
});

Excluir passkey

SDK: @owbase/web e @owbase/node

Exclui uma passkey do usuário logado. A passkey deixa de servir para login, embora possa continuar guardada no aparelho do usuário. A sessão precisa ter feito login ou concluído um desafio de MFA nos últimos 10 minutos.

Parâmetro Tipo Obrigatório Descrição
passkeyId string sim ID da passkey.

Acesso: sessão do usuário (vale o que as permissões do recurso deixam).

@owbase/web
import { Client, Account } from '@owbase/web';
const client = new Client()
.setEndpoint('https://cloud.owbase.dev/v1') // endpoint da API
.setProject('<YOUR_PROJECT_ID>'); // ID do projeto
const account = new Account(client);
const result = await account.deletePasskey({
passkeyId: '<PASSKEY_ID>',
});
console.log(result);
@owbase/node
import { Client, Account } from '@owbase/node';
const client = new Client()
.setEndpoint('https://cloud.owbase.dev/v1') // endpoint da API
.setProject('<YOUR_PROJECT_ID>') // ID do projeto
.setSession(''); // sessão do usuário
const account = new Account(client);
const result = await account.deletePasskey({
passkeyId: '<PASSKEY_ID>',
});

Atualizar verificação da passkey

SDK: @owbase/web e @owbase/node

Conclui o cadastro de uma passkey iniciado com Criar passkey. Envie a forma JSON da credencial devolvida por navigator.credentials.create(), por exemplo credential.toJSON(). Cada cadastro pode ser verificado uma vez; uma tentativa que falha exige começar de novo.

Parâmetro Tipo Obrigatório Descrição
passkeyId string sim ID da passkey.
credential object sim Credencial de cadastro devolvida pelo autenticador, na forma JSON gerada por PublicKeyCredential.toJSON().

Acesso: sessão do usuário (vale o que as permissões do recurso deixam).

@owbase/web
import { Client, Account } from '@owbase/web';
const client = new Client()
.setEndpoint('https://cloud.owbase.dev/v1') // endpoint da API
.setProject('<YOUR_PROJECT_ID>'); // ID do projeto
const account = new Account(client);
const result = await account.updatePasskeyVerification({
passkeyId: '<PASSKEY_ID>',
credential: {},
});
console.log(result);
@owbase/node
import { Client, Account } from '@owbase/node';
const client = new Client()
.setEndpoint('https://cloud.owbase.dev/v1') // endpoint da API
.setProject('<YOUR_PROJECT_ID>') // ID do projeto
.setSession(''); // sessão do usuário
const account = new Account(client);
const result = await account.updatePasskeyVerification({
passkeyId: '<PASSKEY_ID>',
credential: {},
});

Atualizar senha

SDK: @owbase/web e @owbase/node

Atualiza a senha do usuário logado. Para validar, o usuário precisa enviar a senha nova e a antiga. Para usuários criados por OAuth, convite de time e URL mágica, o oldPassword é opcional.

Parâmetro Tipo Obrigatório Descrição
password string sim Nova senha do usuário. Precisa ter pelo menos 8 caracteres.
oldPassword string não Senha atual do usuário. Tamanho máximo: 256 caracteres.

Acesso: sessão do usuário (vale o que as permissões do recurso deixam).

@owbase/web
import { Client, Account } from '@owbase/web';
const client = new Client()
.setEndpoint('https://cloud.owbase.dev/v1') // endpoint da API
.setProject('<YOUR_PROJECT_ID>'); // ID do projeto
const account = new Account(client);
const result = await account.updatePassword({
password: 'password',
oldPassword: 'password', // opcional
});
console.log(result);
@owbase/node
import { Client, Account } from '@owbase/node';
const client = new Client()
.setEndpoint('https://cloud.owbase.dev/v1') // endpoint da API
.setProject('<YOUR_PROJECT_ID>') // ID do projeto
.setSession(''); // sessão do usuário
const account = new Account(client);
const result = await account.updatePassword({
password: 'password',
oldPassword: 'password', // opcional
});

Atualizar telefone

SDK: @owbase/web e @owbase/node

Atualiza o telefone do usuário logado. Depois da troca, o status de verificação do telefone é redefinido. Um SMS de confirmação não é enviado automaticamente, mas você pode usar o endpoint POST /account/verification/phone para enviar um.

Parâmetro Tipo Obrigatório Descrição
phone string sim Número de telefone. Escreva o número com ‘+’ e o código do país na frente, por exemplo +16175551212.
password string sim Senha do usuário. Precisa ter pelo menos 8 caracteres.

Acesso: sessão do usuário (vale o que as permissões do recurso deixam).

@owbase/web
import { Client, Account } from '@owbase/web';
const client = new Client()
.setEndpoint('https://cloud.owbase.dev/v1') // endpoint da API
.setProject('<YOUR_PROJECT_ID>'); // ID do projeto
const account = new Account(client);
const result = await account.updatePhone({
phone: '+12065550100',
password: 'password',
});
console.log(result);
@owbase/node
import { Client, Account } from '@owbase/node';
const client = new Client()
.setEndpoint('https://cloud.owbase.dev/v1') // endpoint da API
.setProject('<YOUR_PROJECT_ID>') // ID do projeto
.setSession(''); // sessão do usuário
const account = new Account(client);
const result = await account.updatePhone({
phone: '+12065550100',
password: 'password',
});

Obter preferências da conta

SDK: @owbase/web e @owbase/node

Obtém as preferências do usuário logado como um objeto chave-valor.

Sem parâmetros.

Acesso: sessão do usuário (vale o que as permissões do recurso deixam).

@owbase/web
import { Client, Account } from '@owbase/web';
const client = new Client()
.setEndpoint('https://cloud.owbase.dev/v1') // endpoint da API
.setProject('<YOUR_PROJECT_ID>'); // ID do projeto
const account = new Account(client);
const result = await account.getPrefs();
console.log(result);
@owbase/node
import { Client, Account } from '@owbase/node';
const client = new Client()
.setEndpoint('https://cloud.owbase.dev/v1') // endpoint da API
.setProject('<YOUR_PROJECT_ID>') // ID do projeto
.setSession(''); // sessão do usuário
const account = new Account(client);
const result = await account.getPrefs();

Atualizar preferências

SDK: @owbase/web e @owbase/node

Atualiza as preferências da conta do usuário logado. O objeto enviado é guardado como está e substitui o valor anterior. O tamanho máximo das preferências é 64kB; acima disso, a chamada falha com erro.

Parâmetro Tipo Obrigatório Descrição
prefs object sim Objeto JSON chave-valor com as preferências.

Acesso: sessão do usuário (vale o que as permissões do recurso deixam).

@owbase/web
import { Client, Account } from '@owbase/web';
const client = new Client()
.setEndpoint('https://cloud.owbase.dev/v1') // endpoint da API
.setProject('<YOUR_PROJECT_ID>'); // ID do projeto
const account = new Account(client);
const result = await account.updatePrefs({
prefs: {
language: 'en',
timezone: 'UTC',
darkTheme: true,
},
});
console.log(result);
@owbase/node
import { Client, Account } from '@owbase/node';
const client = new Client()
.setEndpoint('https://cloud.owbase.dev/v1') // endpoint da API
.setProject('<YOUR_PROJECT_ID>') // ID do projeto
.setSession(''); // sessão do usuário
const account = new Account(client);
const result = await account.updatePrefs({
prefs: {
language: 'en',
timezone: 'UTC',
darkTheme: true,
},
});

Criar recuperação de senha

SDK: @owbase/web e @owbase/node

Envia ao usuário um e-mail com uma chave secreta temporária para redefinir a senha. Quando o usuário clica no link de confirmação, ele volta para a URL de redefinição de senha do seu app, com a chave secreta e o e-mail na query string da URL. Use os parâmetros da query string para fazer um pedido ao endpoint PUT /account/recovery e concluir o processo. O link enviado ao e-mail do usuário vale por 1 hora.

Parâmetro Tipo Obrigatório Descrição
email string sim E-mail do usuário.
url string sim URL para onde o usuário volta no seu app a partir do e-mail de recuperação. Só são aceitas URLs de hosts da lista de plataformas do projeto. Essa exigência ajuda a evitar um ataque de redirecionamento aberto contra a API do seu projeto.

Acesso: sem chave nem sessão: basta o ID do projeto.

@owbase/web
import { Client, Account } from '@owbase/web';
const client = new Client()
.setEndpoint('https://cloud.owbase.dev/v1') // endpoint da API
.setProject('<YOUR_PROJECT_ID>'); // ID do projeto
const account = new Account(client);
const result = await account.createRecovery({
url: 'https://example.com',
});
console.log(result);
@owbase/node
import { Client, Account } from '@owbase/node';
const client = new Client()
.setEndpoint('https://cloud.owbase.dev/v1') // endpoint da API
.setProject('<YOUR_PROJECT_ID>') // ID do projeto
.setSession(''); // sessão do usuário
const account = new Account(client);
const result = await account.createRecovery({
url: 'https://example.com',
});

Atualizar recuperação de senha (confirmação)

SDK: @owbase/web e @owbase/node

Conclui a redefinição de senha da conta do usuário. Os argumentos userId e secret são passados como parâmetros de consulta na URL de redirecionamento que você informou ao fazer o pedido ao endpoint POST /account/recovery.

Para evitar um ataque de redirecionamento, só valem URLs de redirecionamento dos domínios que você cadastrou ao adicionar as plataformas no console.

Parâmetro Tipo Obrigatório Descrição
userId string sim ID do usuário.
secret string sim Token de redefinição válido.
password string sim Nova senha do usuário. Precisa ter entre 8 e 256 caracteres.

Acesso: sem chave nem sessão: basta o ID do projeto.

@owbase/web
import { Client, Account } from '@owbase/web';
const client = new Client()
.setEndpoint('https://cloud.owbase.dev/v1') // endpoint da API
.setProject('<YOUR_PROJECT_ID>'); // ID do projeto
const account = new Account(client);
const result = await account.updateRecovery({
userId: '<USER_ID>',
secret: '<SECRET>',
password: 'password',
});
console.log(result);
@owbase/node
import { Client, Account } from '@owbase/node';
const client = new Client()
.setEndpoint('https://cloud.owbase.dev/v1') // endpoint da API
.setProject('<YOUR_PROJECT_ID>') // ID do projeto
.setSession(''); // sessão do usuário
const account = new Account(client);
const result = await account.updateRecovery({
userId: '<USER_ID>',
secret: '<SECRET>',
password: 'password',
});

Criar recuperação de senha (OTP)

SDK: @owbase/web e @owbase/node

Envia um código de recuperação de senha de 6 dígitos ao e-mail do usuário. Diferente de createRecovery, este método não precisa de URL de redirecionamento, o que o torna adequado para apps mobile e desktop que não conseguem hospedar uma página de recuperação. Saiba como concluir a recuperação. O código enviado ao e-mail do usuário vale por 15 minutos.

Ligue o parâmetro phrase para incluir uma frase de segurança gerada aleatoriamente no e-mail e na resposta. Mostrar essa frase no seu app permite ao usuário confirmar que o e-mail veio mesmo do pedido dele, o que ajuda a proteger contra phishing.

Parâmetro Tipo Obrigatório Descrição
email string sim E-mail do usuário.
phrase boolean não Liga ou desliga a frase de segurança. Se ligada, o e-mail é enviado com uma frase gerada aleatoriamente, e a mesma frase vem na resposta. Conferir se as frases batem aumenta a segurança do fluxo de autenticação.

Acesso: sem chave nem sessão: basta o ID do projeto.

@owbase/web
import { Client, Account } from '@owbase/web';
const client = new Client()
.setEndpoint('https://cloud.owbase.dev/v1') // endpoint da API
.setProject('<YOUR_PROJECT_ID>'); // ID do projeto
const account = new Account(client);
const result = await account.createRecoveryOTP({
phrase: false, // opcional
});
console.log(result);
@owbase/node
import { Client, Account } from '@owbase/node';
const client = new Client()
.setEndpoint('https://cloud.owbase.dev/v1') // endpoint da API
.setProject('<YOUR_PROJECT_ID>') // ID do projeto
.setSession(''); // sessão do usuário
const account = new Account(client);
const result = await account.createRecoveryOTP({
phrase: false, // opcional
});

Atualizar recuperação de senha (OTP)

SDK: @owbase/web e @owbase/node

Conclui a recuperação de senha do usuário com o código de 6 dígitos enviado por createRecoveryOTP. Envie o userId do usuário junto com o código secret do e-mail e a nova password. Se confirmado, esta rota devolve o status 200, o código é consumido e a senha do usuário é atualizada.

Parâmetro Tipo Obrigatório Descrição
userId string sim ID do usuário.
secret string sim Código OTP de recuperação válido.
password string sim Nova senha do usuário. Precisa ter entre 8 e 256 caracteres.

Acesso: sem chave nem sessão: basta o ID do projeto.

@owbase/web
import { Client, Account } from '@owbase/web';
const client = new Client()
.setEndpoint('https://cloud.owbase.dev/v1') // endpoint da API
.setProject('<YOUR_PROJECT_ID>'); // ID do projeto
const account = new Account(client);
const result = await account.updateRecoveryOTP({
userId: '<USER_ID>',
secret: '<SECRET>',
password: 'password',
});
console.log(result);
@owbase/node
import { Client, Account } from '@owbase/node';
const client = new Client()
.setEndpoint('https://cloud.owbase.dev/v1') // endpoint da API
.setProject('<YOUR_PROJECT_ID>') // ID do projeto
.setSession(''); // sessão do usuário
const account = new Account(client);
const result = await account.updateRecoveryOTP({
userId: '<USER_ID>',
secret: '<SECRET>',
password: 'password',
});

Listar sessões

SDK: @owbase/web e @owbase/node

Obtém a lista de sessões ativas do usuário logado, em todos os aparelhos.

Parâmetro Tipo Obrigatório Descrição
total boolean não Com false, o total não é calculado e volta como 0.

Acesso: sessão do usuário (vale o que as permissões do recurso deixam).

@owbase/web
import { Client, Account } from '@owbase/web';
const client = new Client()
.setEndpoint('https://cloud.owbase.dev/v1') // endpoint da API
.setProject('<YOUR_PROJECT_ID>'); // ID do projeto
const account = new Account(client);
const result = await account.listSessions({
total: false, // opcional
});
console.log(result);
@owbase/node
import { Client, Account } from '@owbase/node';
const client = new Client()
.setEndpoint('https://cloud.owbase.dev/v1') // endpoint da API
.setProject('<YOUR_PROJECT_ID>') // ID do projeto
.setSession(''); // sessão do usuário
const account = new Account(client);
const result = await account.listSessions({
total: false, // opcional
});

Excluir sessões

SDK: @owbase/web e @owbase/node

Exclui todas as sessões da conta do usuário e remove os cookies de sessão do cliente. Passe current como false para manter a sessão que fez o pedido e sair de todas as outras.

Parâmetro Tipo Obrigatório Descrição
current boolean não Exclui também a sessão atual. Use false para sair de todas as outras sessões e continuar logado nesta.

Acesso: sessão do usuário (vale o que as permissões do recurso deixam).

@owbase/web
import { Client, Account } from '@owbase/web';
const client = new Client()
.setEndpoint('https://cloud.owbase.dev/v1') // endpoint da API
.setProject('<YOUR_PROJECT_ID>'); // ID do projeto
const account = new Account(client);
const result = await account.deleteSessions({
current: false, // opcional
});
console.log(result);
@owbase/node
import { Client, Account } from '@owbase/node';
const client = new Client()
.setEndpoint('https://cloud.owbase.dev/v1') // endpoint da API
.setProject('<YOUR_PROJECT_ID>') // ID do projeto
.setSession(''); // sessão do usuário
const account = new Account(client);
const result = await account.deleteSessions({
current: false, // opcional
});

Criar sessão anônima

SDK: @owbase/web e @owbase/node

Permite que um novo usuário crie uma conta anônima no seu projeto. Esta rota também cria uma sessão para o usuário. Para converter a conta anônima numa conta comum, é preciso atualizar o e-mail e a senha ou criar uma sessão OAuth2.

Sem parâmetros.

Acesso: sem chave nem sessão: basta o ID do projeto.

@owbase/web
import { Client, Account } from '@owbase/web';
const client = new Client()
.setEndpoint('https://cloud.owbase.dev/v1') // endpoint da API
.setProject('<YOUR_PROJECT_ID>'); // ID do projeto
const account = new Account(client);
const result = await account.createAnonymousSession();
console.log(result);
@owbase/node
import { Client, Account } from '@owbase/node';
const client = new Client()
.setEndpoint('https://cloud.owbase.dev/v1') // endpoint da API
.setProject('<YOUR_PROJECT_ID>') // ID do projeto
.setSession(''); // sessão do usuário
const account = new Account(client);
const result = await account.createAnonymousSession();

Criar sessão por e-mail e senha

SDK: @owbase/web e @owbase/node

Permite que o usuário entre na conta com um e-mail e uma senha válidos. Esta rota cria uma sessão para o usuário. Use o parâmetro opcional duration para criar uma sessão mais curta, por exemplo quando o usuário não marca “lembrar de mim”. A duração precisa ser de pelo menos 60 segundos e não pode passar da duração máxima de sessão do projeto.

Por padrão, cada usuário pode ter até 10 sessões ativas ao mesmo tempo. Saiba mais sobre limites de sessão.

Parâmetro Tipo Obrigatório Descrição
email string sim E-mail do usuário.
password string sim Senha do usuário. Precisa ter pelo menos 8 caracteres.
duration number não Duração da sessão em segundos. O mínimo é 60 segundos, e não pode passar da duração máxima de sessão do projeto. O padrão é a duração máxima de sessão do projeto.

Acesso: sem chave nem sessão: basta o ID do projeto.

@owbase/web
import { Client, Account } from '@owbase/web';
const client = new Client()
.setEndpoint('https://cloud.owbase.dev/v1') // endpoint da API
.setProject('<YOUR_PROJECT_ID>'); // ID do projeto
const account = new Account(client);
const result = await account.createEmailPasswordSession({
password: 'password',
duration: 60, // opcional
});
console.log(result);
@owbase/node
import { Client, Account } from '@owbase/node';
const client = new Client()
.setEndpoint('https://cloud.owbase.dev/v1') // endpoint da API
.setProject('<YOUR_PROJECT_ID>') // ID do projeto
.setSession(''); // sessão do usuário
const account = new Account(client);
const result = await account.createEmailPasswordSession({
password: 'password',
duration: 60, // opcional
});

Criar sessão por ID token

SDK: @owbase/web e @owbase/node

Permite que o usuário entre na conta com um ID token do OpenID Connect obtido de forma nativa do provedor OAuth2, por exemplo pelo Google Credential Manager no Android ou pelo Sign in with Apple no iOS. Não há navegador nem redirecionamento: o ID token é conferido com as chaves de assinatura publicadas pelo provedor, e a sessão é criada num único pedido.

O login nativo é ligado por provedor, na configuração nativeEnabled. Ele independe da configuração enabled do fluxo pelo navegador, que não tem efeito neste endpoint. O público (audience) do token precisa ser o client ID configurado no provedor ou um dos client IDs nativos; tokens emitidos para qualquer outro client ID são recusados. No Sign in with Apple, cadastre o bundle ID do seu app como client ID nativo. No Google, o client ID web usado pelo Credential Manager costuma ser o client ID configurado; adicione os client IDs de Android e iOS como client IDs nativos se o seu app pedir tokens para eles.

Envie o nonce bruto usado ao pedir o ID token, para que ele seja conferido com a claim nonce do token. No Sign in with Apple, o nonce é obrigatório: calcule o hash SHA-256 dele antes de passá-lo ao SDK da Apple e envie aqui o valor bruto - tokens da Apple pedidos sem nonce são recusados. No Google, o nonce é opcional: ele é conferido sempre que o token traz um, e ignorado quando o provedor emitiu o token sem ele. A Apple só devolve o nome do usuário na primeira autorização, e nunca dentro do ID token - capture o nome no cliente e envie pelo parâmetro name.

Se já houver uma sessão ativa, a nova sessão é ligada à conta logada. Se não houver sessão ativa, o servidor procura um usuário com o mesmo e-mail verificado recebido do provedor e liga a nova sessão a esse usuário. Se nenhum usuário corresponder, o servidor cria um usuário.

Este fluxo não devolve refresh tokens do provedor. Você pode enviar um access token que o provedor entregou ao seu cliente, junto com a validade dele, para guardá-lo na sessão - mas o Owbase não consegue renová-lo depois que expirar. Se o seu app precisa de acesso duradouro às APIs do provedor, use o fluxo OAuth2 pelo navegador.

Por padrão, cada usuário pode ter até 10 sessões ativas ao mesmo tempo. Saiba mais sobre limites de sessão.

Parâmetro Tipo Obrigatório Descrição
provider IdTokenProvider sim Provedor OAuth2 que emitiu o ID token. Provedores aceitos hoje: apple, google. Valores: apple, google.
idToken string sim ID token (JWT) do OpenID Connect obtido de forma nativa do provedor, por exemplo pelo Google Credential Manager ou pelo Sign in with Apple.
nonce string não Nonce bruto usado ao pedir o ID token. Obrigatório para a Apple e sempre que o token trouxer a claim nonce, que precisa ser igual a ele. Ignorado quando o provedor emitiu o token sem nonce.
accessToken string não Access token do provedor, guardado junto com a sessão para chamar as APIs do provedor. Nunca é usado na autenticação.
accessTokenExpiry number não Segundos até o access token do provedor expirar, como informado pelo provedor. Fica guardado para que os clientes saibam quando o token guardado venceu.
name string não Nome do usuário. Só é usado ao criar um usuário quando o ID token não tem a claim de nome, como na primeira autorização do Sign in with Apple.

Acesso: sem chave nem sessão: basta o ID do projeto.

@owbase/web
import { Client, Account, IdTokenProvider } from '@owbase/web';
const client = new Client()
.setEndpoint('https://cloud.owbase.dev/v1') // endpoint da API
.setProject('<YOUR_PROJECT_ID>'); // ID do projeto
const account = new Account(client);
const result = await account.createIdTokenSession({
provider: IdTokenProvider.Apple,
idToken: '<ID_TOKEN>',
nonce: '<NONCE>', // opcional
accessToken: '<ACCESS_TOKEN>', // opcional
accessTokenExpiry: 0, // opcional
name: '<NAME>', // opcional
});
console.log(result);
@owbase/node
import { Client, Account, IdTokenProvider } from '@owbase/node';
const client = new Client()
.setEndpoint('https://cloud.owbase.dev/v1') // endpoint da API
.setProject('<YOUR_PROJECT_ID>') // ID do projeto
.setSession(''); // sessão do usuário
const account = new Account(client);
const result = await account.createIdTokenSession({
provider: IdTokenProvider.Apple,
idToken: '<ID_TOKEN>',
nonce: '<NONCE>', // opcional
accessToken: '<ACCESS_TOKEN>', // opcional
accessTokenExpiry: 0, // opcional
name: '<NAME>', // opcional
});

Atualizar sessão de URL mágica

SDK: @owbase/web e @owbase/node

Cria uma sessão a partir de um token. Informe os parâmetros userId e secret da resposta bem-sucedida dos fluxos de autenticação que começam pela criação de um token, como o login por URL mágica e por telefone.

Parâmetro Tipo Obrigatório Descrição
userId string sim ID do usuário. Escolha um ID próprio ou gere um ID aleatório com ID.unique(). Caracteres válidos: a-z, A-Z, 0-9, ponto, hífen e sublinhado. Não pode começar com caractere especial. Tamanho máximo: 36 caracteres.
secret string sim Token de verificação válido.

Acesso: sem chave nem sessão: basta o ID do projeto.

@owbase/web
import { Client, Account } from '@owbase/web';
const client = new Client()
.setEndpoint('https://cloud.owbase.dev/v1') // endpoint da API
.setProject('<YOUR_PROJECT_ID>'); // ID do projeto
const account = new Account(client);
const result = await account.updateMagicURLSession({
userId: '<USER_ID>',
secret: '<SECRET>',
});
console.log(result);
@owbase/node
import { Client, Account } from '@owbase/node';
const client = new Client()
.setEndpoint('https://cloud.owbase.dev/v1') // endpoint da API
.setProject('<YOUR_PROJECT_ID>') // ID do projeto
.setSession(''); // sessão do usuário
const account = new Account(client);
const result = await account.updateMagicURLSession({
userId: '<USER_ID>',
secret: '<SECRET>',
});

Criar sessão OAuth2

SDK: só @owbase/web

Permite que o usuário entre na conta pelo provedor OAuth2 que escolher. Cada provedor OAuth2 precisa ser ligado antes no console do Owbase. Use os argumentos success e failure para informar as URLs de redirecionamento de volta ao seu app quando o login terminar.

Se já houver uma sessão ativa, a nova sessão é ligada à conta logada. Se não houver sessão ativa, o servidor procura um usuário com o mesmo e-mail recebido do provedor OAuth2 e liga a nova sessão a esse usuário. Se nenhum usuário corresponder, o servidor cria um usuário.

Por padrão, cada usuário pode ter até 10 sessões ativas ao mesmo tempo. Saiba mais sobre limites de sessão.

Parâmetro Tipo Obrigatório Descrição
provider OAuthProvider sim Provedor OAuth2. Provedores aceitos hoje: amazon, apple, auth0, authentik, autodesk, bitbucket, bitly, box, cloudflare, dailymotion, discord, disqus, dropbox, etsy, facebook, figma, fusionauth, github, gitlab, google, huggingface, kakao, keycloak, kick, linkedin, microsoft, notion, oidc, okta, paypal, paypalSandbox, podio, resend, salesforce, slack, spotify, stripe, tiktok, tradeshift, tradeshiftBox, twitch, webflow, wordpress, x, yahoo, yammer, yandex, zoho, zoom. Valores: amazon, apple, auth0, authentik, autodesk, bitbucket, bitly, box, cloudflare, dailymotion, discord, disqus, dropbox, etsy, facebook, figma, fusionauth, github, gitlab, google, huggingface, kakao, keycloak, kick, linkedin, microsoft, notion, oidc, okta, paypal, paypalSandbox, podio, resend, salesforce, slack, spotify, stripe, tiktok, tradeshift, tradeshiftBox, twitch, webflow, wordpress, x, yahoo, yammer, yandex, zoho, zoom.
success string não URL de volta ao seu app depois de um login bem-sucedido. Só são aceitas URLs de hosts da lista de plataformas do projeto. Essa exigência ajuda a evitar um ataque de redirecionamento aberto contra a API do seu projeto.
failure string não URL de volta ao seu app depois de uma tentativa de login que falhou. Só são aceitas URLs de hosts da lista de plataformas do projeto. Essa exigência ajuda a evitar um ataque de redirecionamento aberto contra a API do seu projeto.
scopes string[] não Lista de escopos OAuth2 próprios. Veja na documentação de cada provedor os escopos aceitos. No máximo 100 escopos, cada um com até 4096 caracteres.
state string não Um valor opaco que o seu app gera e guarda, por exemplo num cookie. Ele volta sem mudança no parâmetro de consulta state das URLs de sucesso e de falha, para o seu app conferir que o login recebido foi iniciado por ele. Só ASCII imprimível (RFC 6749, Apêndice A.5). Tamanho máximo: 256 caracteres.

Acesso: sem chave nem sessão: basta o ID do projeto.

@owbase/web
import { Client, Account, OAuthProvider } from '@owbase/web';
const client = new Client()
.setEndpoint('https://cloud.owbase.dev/v1') // endpoint da API
.setProject('<YOUR_PROJECT_ID>'); // ID do projeto
const account = new Account(client);
account.createOAuth2Session({
provider: OAuthProvider.Amazon,
success: 'https://example.com', // opcional
failure: 'https://example.com', // opcional
scopes: [], // opcional
state: '<STATE>', // opcional
});

Atualizar sessão por telefone

SDK: @owbase/web e @owbase/node

Cria uma sessão a partir de um token. Informe os parâmetros userId e secret da resposta bem-sucedida dos fluxos de autenticação que começam pela criação de um token, como o login por URL mágica e por telefone.

Parâmetro Tipo Obrigatório Descrição
userId string sim ID do usuário. Escolha um ID próprio ou gere um ID aleatório com ID.unique(). Caracteres válidos: a-z, A-Z, 0-9, ponto, hífen e sublinhado. Não pode começar com caractere especial. Tamanho máximo: 36 caracteres.
secret string sim Token de verificação válido.

Acesso: sem chave nem sessão: basta o ID do projeto.

@owbase/web
import { Client, Account } from '@owbase/web';
const client = new Client()
.setEndpoint('https://cloud.owbase.dev/v1') // endpoint da API
.setProject('<YOUR_PROJECT_ID>'); // ID do projeto
const account = new Account(client);
const result = await account.updatePhoneSession({
userId: '<USER_ID>',
secret: '<SECRET>',
});
console.log(result);
@owbase/node
import { Client, Account } from '@owbase/node';
const client = new Client()
.setEndpoint('https://cloud.owbase.dev/v1') // endpoint da API
.setProject('<YOUR_PROJECT_ID>') // ID do projeto
.setSession(''); // sessão do usuário
const account = new Account(client);
const result = await account.updatePhoneSession({
userId: '<USER_ID>',
secret: '<SECRET>',
});

Criar sessão

SDK: @owbase/web e @owbase/node

Cria uma sessão a partir de um token. Informe os parâmetros userId e secret da resposta bem-sucedida dos fluxos de autenticação que começam pela criação de um token, como o login por URL mágica e por telefone.

Parâmetro Tipo Obrigatório Descrição
userId string sim ID do usuário. Escolha um ID próprio ou gere um ID aleatório com ID.unique(). Caracteres válidos: a-z, A-Z, 0-9, ponto, hífen e sublinhado. Não pode começar com caractere especial. Tamanho máximo: 36 caracteres.
secret string sim Segredo de um token gerado pelos métodos de login, como createMagicURLToken ou createPhoneToken.

Acesso: sem chave nem sessão: basta o ID do projeto.

@owbase/web
import { Client, Account } from '@owbase/web';
const client = new Client()
.setEndpoint('https://cloud.owbase.dev/v1') // endpoint da API
.setProject('<YOUR_PROJECT_ID>'); // ID do projeto
const account = new Account(client);
const result = await account.createSession({
userId: '<USER_ID>',
secret: '<SECRET>',
});
console.log(result);
@owbase/node
import { Client, Account } from '@owbase/node';
const client = new Client()
.setEndpoint('https://cloud.owbase.dev/v1') // endpoint da API
.setProject('<YOUR_PROJECT_ID>') // ID do projeto
.setSession(''); // sessão do usuário
const account = new Account(client);
const result = await account.createSession({
userId: '<USER_ID>',
secret: '<SECRET>',
});

Obter sessão

SDK: @owbase/web e @owbase/node

Obtém uma sessão do usuário logado pelo ID da sessão. Com ‘current’, devolve a sessão em uso.

Parâmetro Tipo Obrigatório Descrição
sessionId string sim ID da sessão. Use o texto ‘current’ para obter a sessão do aparelho atual.

Acesso: sessão do usuário (vale o que as permissões do recurso deixam).

@owbase/web
import { Client, Account } from '@owbase/web';
const client = new Client()
.setEndpoint('https://cloud.owbase.dev/v1') // endpoint da API
.setProject('<YOUR_PROJECT_ID>'); // ID do projeto
const account = new Account(client);
const result = await account.getSession({
sessionId: '<SESSION_ID>',
});
console.log(result);
@owbase/node
import { Client, Account } from '@owbase/node';
const client = new Client()
.setEndpoint('https://cloud.owbase.dev/v1') // endpoint da API
.setProject('<YOUR_PROJECT_ID>') // ID do projeto
.setSession(''); // sessão do usuário
const account = new Account(client);
const result = await account.getSession({
sessionId: '<SESSION_ID>',
});

Atualizar sessão

SDK: @owbase/web e @owbase/node

Estende a duração de uma sessão. Estender a sessão é útil quando ela expira em pouco tempo. Se a sessão foi criada por um provedor OAuth, este endpoint renova o access token do provedor.

Parâmetro Tipo Obrigatório Descrição
sessionId string sim ID da sessão. Use o texto ‘current’ para atualizar a sessão do aparelho atual.

Acesso: sessão do usuário (vale o que as permissões do recurso deixam).

@owbase/web
import { Client, Account } from '@owbase/web';
const client = new Client()
.setEndpoint('https://cloud.owbase.dev/v1') // endpoint da API
.setProject('<YOUR_PROJECT_ID>'); // ID do projeto
const account = new Account(client);
const result = await account.updateSession({
sessionId: '<SESSION_ID>',
});
console.log(result);
@owbase/node
import { Client, Account } from '@owbase/node';
const client = new Client()
.setEndpoint('https://cloud.owbase.dev/v1') // endpoint da API
.setProject('<YOUR_PROJECT_ID>') // ID do projeto
.setSession(''); // sessão do usuário
const account = new Account(client);
const result = await account.updateSession({
sessionId: '<SESSION_ID>',
});

Excluir sessão

SDK: @owbase/web e @owbase/node

Faz logout do usuário. Use ‘current’ como ID da sessão para sair neste aparelho, ou o ID de uma sessão para sair em outro aparelho. Para sair em todos os aparelhos, use Excluir sessões.

Parâmetro Tipo Obrigatório Descrição
sessionId string sim ID da sessão. Use o texto ‘current’ para excluir a sessão do aparelho atual.

Acesso: sessão do usuário (vale o que as permissões do recurso deixam).

@owbase/web
import { Client, Account } from '@owbase/web';
const client = new Client()
.setEndpoint('https://cloud.owbase.dev/v1') // endpoint da API
.setProject('<YOUR_PROJECT_ID>'); // ID do projeto
const account = new Account(client);
const result = await account.deleteSession({
sessionId: '<SESSION_ID>',
});
console.log(result);
@owbase/node
import { Client, Account } from '@owbase/node';
const client = new Client()
.setEndpoint('https://cloud.owbase.dev/v1') // endpoint da API
.setProject('<YOUR_PROJECT_ID>') // ID do projeto
.setSession(''); // sessão do usuário
const account = new Account(client);
const result = await account.deleteSession({
sessionId: '<SESSION_ID>',
});

Atualizar status

SDK: @owbase/web e @owbase/node

Bloqueia a conta do usuário logado. O registro do usuário não é excluído, mas fica bloqueado para sempre, sem nenhum acesso. Para excluir um usuário de vez, use a API Users.

Sem parâmetros.

Acesso: sessão do usuário (vale o que as permissões do recurso deixam).

@owbase/web
import { Client, Account } from '@owbase/web';
const client = new Client()
.setEndpoint('https://cloud.owbase.dev/v1') // endpoint da API
.setProject('<YOUR_PROJECT_ID>'); // ID do projeto
const account = new Account(client);
const result = await account.updateStatus();
console.log(result);
@owbase/node
import { Client, Account } from '@owbase/node';
const client = new Client()
.setEndpoint('https://cloud.owbase.dev/v1') // endpoint da API
.setProject('<YOUR_PROJECT_ID>') // ID do projeto
.setSession(''); // sessão do usuário
const account = new Account(client);
const result = await account.updateStatus();

Criar token por e-mail (OTP)

SDK: @owbase/web e @owbase/node

Envia ao usuário um e-mail com uma chave secreta para criar uma sessão. Se o e-mail nunca foi usado, uma conta nova é criada com o userId informado. Se o e-mail já pertence a uma conta, o ID do usuário é ignorado. Em seguida, o usuário recebe um e-mail com a senha de uso único. Use o ID do usuário e o segredo devolvidos para fazer um pedido ao endpoint POST /v1/account/sessions/token e concluir o login. O segredo enviado ao e-mail do usuário vale por 15 minutos.

Por padrão, cada usuário pode ter até 10 sessões ativas ao mesmo tempo. Saiba mais sobre limites de sessão.

Parâmetro Tipo Obrigatório Descrição
userId string sim ID do usuário. Escolha um ID próprio ou gere um ID aleatório com ID.unique(). Caracteres válidos: a-z, A-Z, 0-9, ponto, hífen e sublinhado. Não pode começar com caractere especial. Tamanho máximo: 36 caracteres. Se o e-mail nunca foi usado, uma conta nova é criada com o userId informado. Se o e-mail já pertence a uma conta, o ID do usuário é ignorado.
email string sim E-mail do usuário.
phrase boolean não Liga ou desliga a frase de segurança. Se ligada, o e-mail é enviado com uma frase gerada aleatoriamente, e a mesma frase vem na resposta. Conferir se as frases batem aumenta a segurança do fluxo de autenticação.

Acesso: sem chave nem sessão: basta o ID do projeto.

@owbase/web
import { Client, Account } from '@owbase/web';
const client = new Client()
.setEndpoint('https://cloud.owbase.dev/v1') // endpoint da API
.setProject('<YOUR_PROJECT_ID>'); // ID do projeto
const account = new Account(client);
const result = await account.createEmailToken({
userId: '<USER_ID>',
phrase: false, // opcional
});
console.log(result);
@owbase/node
import { Client, Account } from '@owbase/node';
const client = new Client()
.setEndpoint('https://cloud.owbase.dev/v1') // endpoint da API
.setProject('<YOUR_PROJECT_ID>') // ID do projeto
.setSession(''); // sessão do usuário
const account = new Account(client);
const result = await account.createEmailToken({
userId: '<USER_ID>',
phrase: false, // opcional
});

Criar token de URL mágica

SDK: @owbase/web e @owbase/node

Envia ao usuário um e-mail com uma chave secreta para criar uma sessão. Se o ID de usuário informado não estiver cadastrado, um usuário novo é criado. Quando o usuário clica no link do e-mail, ele volta para a URL que você informou, com a chave secreta e o userId na query string da URL. Use os parâmetros da query string para fazer um pedido ao endpoint POST /v1/account/sessions/token e concluir o login. O link enviado ao e-mail do usuário vale por 1 hora.

Por padrão, cada usuário pode ter até 10 sessões ativas ao mesmo tempo. Saiba mais sobre limites de sessão.

Parâmetro Tipo Obrigatório Descrição
userId string sim ID único. Escolha um ID próprio ou gere um ID aleatório com ID.unique(). Caracteres válidos: a-z, A-Z, 0-9, ponto, hífen e sublinhado. Não pode começar com caractere especial. Tamanho máximo: 36 caracteres. Se o e-mail nunca foi usado, uma conta nova é criada com o userId informado. Se o e-mail já pertence a uma conta, o ID do usuário é ignorado.
email string sim E-mail do usuário.
url string não URL para onde o usuário volta no seu app a partir do login por URL mágica. Só são aceitas URLs de hosts da lista de plataformas do projeto. Essa exigência ajuda a evitar um ataque de redirecionamento aberto contra a API do seu projeto.
phrase boolean não Liga ou desliga a frase de segurança. Se ligada, o e-mail é enviado com uma frase gerada aleatoriamente, e a mesma frase vem na resposta. Conferir se as frases batem aumenta a segurança do fluxo de autenticação.

Acesso: sem chave nem sessão: basta o ID do projeto.

@owbase/web
import { Client, Account } from '@owbase/web';
const client = new Client()
.setEndpoint('https://cloud.owbase.dev/v1') // endpoint da API
.setProject('<YOUR_PROJECT_ID>'); // ID do projeto
const account = new Account(client);
const result = await account.createMagicURLToken({
userId: '<USER_ID>',
url: 'https://example.com', // opcional
phrase: false, // opcional
});
console.log(result);
@owbase/node
import { Client, Account } from '@owbase/node';
const client = new Client()
.setEndpoint('https://cloud.owbase.dev/v1') // endpoint da API
.setProject('<YOUR_PROJECT_ID>') // ID do projeto
.setSession(''); // sessão do usuário
const account = new Account(client);
const result = await account.createMagicURLToken({
userId: '<USER_ID>',
url: 'https://example.com', // opcional
phrase: false, // opcional
});

Criar token OAuth2

SDK: @owbase/web e @owbase/node

Permite que o usuário entre na conta pelo provedor OAuth2 que escolher. Cada provedor OAuth2 precisa ser ligado antes no console do Owbase. Use os argumentos success e failure para informar as URLs de redirecionamento de volta ao seu app quando o login terminar.

Se a autenticação der certo, o userId e o secret de um token são acrescentados à URL de sucesso como parâmetros de consulta. Com eles, crie uma sessão pelo endpoint Criar sessão.

Se já houver uma sessão ativa, a identidade OAuth2 é ligada à conta logada, e essa sessão continua ativa até o token ser trocado por uma sessão nova.

Por padrão, cada usuário pode ter até 10 sessões ativas ao mesmo tempo. Saiba mais sobre limites de sessão.

Parâmetro Tipo Obrigatório Descrição
provider OAuthProvider sim Provedor OAuth2. Provedores aceitos hoje: amazon, apple, auth0, authentik, autodesk, bitbucket, bitly, box, cloudflare, dailymotion, discord, disqus, dropbox, etsy, facebook, figma, fusionauth, github, gitlab, google, huggingface, kakao, keycloak, kick, linkedin, microsoft, notion, oidc, okta, paypal, paypalSandbox, podio, resend, salesforce, slack, spotify, stripe, tiktok, tradeshift, tradeshiftBox, twitch, webflow, wordpress, x, yahoo, yammer, yandex, zoho, zoom. Valores: amazon, apple, auth0, authentik, autodesk, bitbucket, bitly, box, cloudflare, dailymotion, discord, disqus, dropbox, etsy, facebook, figma, fusionauth, github, gitlab, google, huggingface, kakao, keycloak, kick, linkedin, microsoft, notion, oidc, okta, paypal, paypalSandbox, podio, resend, salesforce, slack, spotify, stripe, tiktok, tradeshift, tradeshiftBox, twitch, webflow, wordpress, x, yahoo, yammer, yandex, zoho, zoom.
success string não URL de volta ao seu app depois de um login bem-sucedido. Só são aceitas URLs de hosts da lista de plataformas do projeto. Essa exigência ajuda a evitar um ataque de redirecionamento aberto contra a API do seu projeto.
failure string não URL de volta ao seu app depois de uma tentativa de login que falhou. Só são aceitas URLs de hosts da lista de plataformas do projeto. Essa exigência ajuda a evitar um ataque de redirecionamento aberto contra a API do seu projeto.
scopes string[] não Lista de escopos OAuth2 próprios. Veja na documentação de cada provedor os escopos aceitos. No máximo 100 escopos, cada um com até 4096 caracteres.
state string não Um valor opaco que o seu app gera e guarda, por exemplo num cookie. Ele volta sem mudança no parâmetro de consulta state das URLs de sucesso e de falha, para o seu app conferir que o login recebido foi iniciado por ele. Só ASCII imprimível (RFC 6749, Apêndice A.5). Tamanho máximo: 256 caracteres.

Acesso: sem chave nem sessão: basta o ID do projeto.

@owbase/web
import { Client, Account, OAuthProvider } from '@owbase/web';
const client = new Client()
.setEndpoint('https://cloud.owbase.dev/v1') // endpoint da API
.setProject('<YOUR_PROJECT_ID>'); // ID do projeto
const account = new Account(client);
account.createOAuth2Token({
provider: OAuthProvider.Amazon,
success: 'https://example.com', // opcional
failure: 'https://example.com', // opcional
scopes: [], // opcional
state: '<STATE>', // opcional
});
@owbase/node
import { Client, Account, OAuthProvider } from '@owbase/node';
const client = new Client()
.setEndpoint('https://cloud.owbase.dev/v1') // endpoint da API
.setProject('<YOUR_PROJECT_ID>') // ID do projeto
.setSession(''); // sessão do usuário
const account = new Account(client);
const result = await account.createOAuth2Token({
provider: OAuthProvider.Amazon,
success: 'https://example.com', // opcional
failure: 'https://example.com', // opcional
scopes: [], // opcional
state: '<STATE>', // opcional
});

Criar token de passkey

SDK: @owbase/web e @owbase/node

Começa o login com passkey. Não precisa de e-mail nem de ID de usuário: passe as opções publicKey devolvidas para navigator.credentials.get(), e o usuário escolhe uma das passkeys dele. Depois, chame Atualizar token de passkey com a credencial para receber um token e troque o token por uma sessão com Criar sessão. O desafio expira em 5 minutos.

Sem parâmetros.

Acesso: sem chave nem sessão: basta o ID do projeto.

@owbase/web
import { Client, Account } from '@owbase/web';
const client = new Client()
.setEndpoint('https://cloud.owbase.dev/v1') // endpoint da API
.setProject('<YOUR_PROJECT_ID>'); // ID do projeto
const account = new Account(client);
const result = await account.createPasskeyToken();
console.log(result);
@owbase/node
import { Client, Account } from '@owbase/node';
const client = new Client()
.setEndpoint('https://cloud.owbase.dev/v1') // endpoint da API
.setProject('<YOUR_PROJECT_ID>') // ID do projeto
.setSession(''); // sessão do usuário
const account = new Account(client);
const result = await account.createPasskeyToken();

Atualizar token de passkey

SDK: @owbase/web e @owbase/node

Conclui um login com passkey iniciado com Criar token de passkey. Envie o ID do desafio e a forma JSON da credencial devolvida por navigator.credentials.get(), por exemplo credential.toJSON(). O token devolvido traz o segredo e expira em 1 minuto: troque-o por uma sessão com Criar sessão. Passkeys exigem verificação do usuário, então a sessão também cumpre o MFA. Cada desafio só pode ser usado uma vez.

Parâmetro Tipo Obrigatório Descrição
challengeId string sim ID do desafio devolvido por createPasskeyToken.
credential object sim Credencial de autenticação devolvida pelo autenticador, na forma JSON gerada por PublicKeyCredential.toJSON().

Acesso: sem chave nem sessão: basta o ID do projeto.

@owbase/web
import { Client, Account } from '@owbase/web';
const client = new Client()
.setEndpoint('https://cloud.owbase.dev/v1') // endpoint da API
.setProject('<YOUR_PROJECT_ID>'); // ID do projeto
const account = new Account(client);
const result = await account.updatePasskeyToken({
challengeId: '<CHALLENGE_ID>',
credential: {},
});
console.log(result);
@owbase/node
import { Client, Account } from '@owbase/node';
const client = new Client()
.setEndpoint('https://cloud.owbase.dev/v1') // endpoint da API
.setProject('<YOUR_PROJECT_ID>') // ID do projeto
.setSession(''); // sessão do usuário
const account = new Account(client);
const result = await account.updatePasskeyToken({
challengeId: '<CHALLENGE_ID>',
credential: {},
});

Criar token por telefone

SDK: @owbase/web e @owbase/node

Envia ao usuário um SMS com uma chave secreta para criar uma sessão. Se o ID de usuário informado não estiver cadastrado, um usuário novo é criado. Use o ID do usuário e o segredo devolvidos para fazer um pedido ao endpoint POST /v1/account/sessions/token e concluir o login. O segredo enviado ao telefone do usuário vale por 15 minutos.

Por padrão, cada usuário pode ter até 10 sessões ativas ao mesmo tempo. Saiba mais sobre limites de sessão.

Parâmetro Tipo Obrigatório Descrição
userId string sim ID único. Escolha um ID próprio ou gere um ID aleatório com ID.unique(). Caracteres válidos: a-z, A-Z, 0-9, ponto, hífen e sublinhado. Não pode começar com caractere especial. Tamanho máximo: 36 caracteres. Se o número de telefone nunca foi usado, uma conta nova é criada com o userId informado. Se o número já pertence a uma conta, o ID do usuário é ignorado.
phone string sim Número de telefone. Escreva o número com ‘+’ e o código do país na frente, por exemplo +16175551212.

Acesso: sem chave nem sessão: basta o ID do projeto.

@owbase/web
import { Client, Account } from '@owbase/web';
const client = new Client()
.setEndpoint('https://cloud.owbase.dev/v1') // endpoint da API
.setProject('<YOUR_PROJECT_ID>'); // ID do projeto
const account = new Account(client);
const result = await account.createPhoneToken({
userId: '<USER_ID>',
phone: '+12065550100',
});
console.log(result);
@owbase/node
import { Client, Account } from '@owbase/node';
const client = new Client()
.setEndpoint('https://cloud.owbase.dev/v1') // endpoint da API
.setProject('<YOUR_PROJECT_ID>') // ID do projeto
.setSession(''); // sessão do usuário
const account = new Account(client);
const result = await account.createPhoneToken({
userId: '<USER_ID>',
phone: '+12065550100',
});

Criar verificação de e-mail

SDK: @owbase/web e @owbase/node

Envia uma mensagem de verificação ao e-mail do usuário, para confirmar que ele é o dono desse endereço. Os argumentos userId e secret são passados como parâmetros de consulta na URL que você informou para o e-mail de verificação. Essa URL deve levar o usuário de volta ao seu app, onde você conclui a verificação conferindo os parâmetros userId e secret. Saiba como concluir a verificação. O link de verificação enviado ao e-mail do usuário vale por 7 dias.

Para evitar um ataque de redirecionamento, só valem URLs de redirecionamento dos domínios que você cadastrou ao adicionar as plataformas no console.

Parâmetro Tipo Obrigatório Descrição
url string sim URL para onde o usuário volta no seu app a partir do e-mail de verificação. Só são aceitas URLs de hosts da lista de plataformas do projeto. Essa exigência ajuda a evitar um ataque de redirecionamento aberto contra a API do seu projeto.

Acesso: sessão do usuário (vale o que as permissões do recurso deixam).

@owbase/web
import { Client, Account } from '@owbase/web';
const client = new Client()
.setEndpoint('https://cloud.owbase.dev/v1') // endpoint da API
.setProject('<YOUR_PROJECT_ID>'); // ID do projeto
const account = new Account(client);
const result = await account.createEmailVerification({
url: 'https://example.com',
});
console.log(result);
@owbase/node
import { Client, Account } from '@owbase/node';
const client = new Client()
.setEndpoint('https://cloud.owbase.dev/v1') // endpoint da API
.setProject('<YOUR_PROJECT_ID>') // ID do projeto
.setSession(''); // sessão do usuário
const account = new Account(client);
const result = await account.createEmailVerification({
url: 'https://example.com',
});

Criar verificação de e-mail

SDK: @owbase/web e @owbase/node

Envia uma mensagem de verificação ao e-mail do usuário, para confirmar que ele é o dono desse endereço. Os argumentos userId e secret são passados como parâmetros de consulta na URL que você informou para o e-mail de verificação. Essa URL deve levar o usuário de volta ao seu app, onde você conclui a verificação conferindo os parâmetros userId e secret. Saiba como concluir a verificação. O link de verificação enviado ao e-mail do usuário vale por 7 dias.

Para evitar um ataque de redirecionamento, só valem URLs de redirecionamento dos domínios que você cadastrou ao adicionar as plataformas no console.

Parâmetro Tipo Obrigatório Descrição
url string sim URL para onde o usuário volta no seu app a partir do e-mail de verificação. Só são aceitas URLs de hosts da lista de plataformas do projeto. Essa exigência ajuda a evitar um ataque de redirecionamento aberto contra a API do seu projeto.

Acesso: sessão do usuário (vale o que as permissões do recurso deixam).

@owbase/web
import { Client, Account } from '@owbase/web';
const client = new Client()
.setEndpoint('https://cloud.owbase.dev/v1') // endpoint da API
.setProject('<YOUR_PROJECT_ID>'); // ID do projeto
const account = new Account(client);
const result = await account.createVerification({
url: 'https://example.com',
});
console.log(result);
@owbase/node
import { Client, Account } from '@owbase/node';
const client = new Client()
.setEndpoint('https://cloud.owbase.dev/v1') // endpoint da API
.setProject('<YOUR_PROJECT_ID>') // ID do projeto
.setSession(''); // sessão do usuário
const account = new Account(client);
const result = await account.createVerification({
url: 'https://example.com',
});

Atualizar verificação de e-mail (confirmação)

SDK: @owbase/web e @owbase/node

Conclui a verificação do e-mail do usuário. Use os parâmetros userId e secret que vieram na URL do seu app para confirmar que o usuário é dono do e-mail. Se confirmado, esta rota devolve o status 200.

Parâmetro Tipo Obrigatório Descrição
userId string sim ID do usuário.
secret string sim Token de verificação válido.

Acesso: sem chave nem sessão: basta o ID do projeto.

@owbase/web
import { Client, Account } from '@owbase/web';
const client = new Client()
.setEndpoint('https://cloud.owbase.dev/v1') // endpoint da API
.setProject('<YOUR_PROJECT_ID>'); // ID do projeto
const account = new Account(client);
const result = await account.updateEmailVerification({
userId: '<USER_ID>',
secret: '<SECRET>',
});
console.log(result);
@owbase/node
import { Client, Account } from '@owbase/node';
const client = new Client()
.setEndpoint('https://cloud.owbase.dev/v1') // endpoint da API
.setProject('<YOUR_PROJECT_ID>') // ID do projeto
.setSession(''); // sessão do usuário
const account = new Account(client);
const result = await account.updateEmailVerification({
userId: '<USER_ID>',
secret: '<SECRET>',
});

Atualizar verificação de e-mail (confirmação)

SDK: @owbase/web e @owbase/node

Conclui a verificação do e-mail do usuário. Use os parâmetros userId e secret que vieram na URL do seu app para confirmar que o usuário é dono do e-mail. Se confirmado, esta rota devolve o status 200.

Parâmetro Tipo Obrigatório Descrição
userId string sim ID do usuário.
secret string sim Token de verificação válido.

Acesso: sem chave nem sessão: basta o ID do projeto.

@owbase/web
import { Client, Account } from '@owbase/web';
const client = new Client()
.setEndpoint('https://cloud.owbase.dev/v1') // endpoint da API
.setProject('<YOUR_PROJECT_ID>'); // ID do projeto
const account = new Account(client);
const result = await account.updateVerification({
userId: '<USER_ID>',
secret: '<SECRET>',
});
console.log(result);
@owbase/node
import { Client, Account } from '@owbase/node';
const client = new Client()
.setEndpoint('https://cloud.owbase.dev/v1') // endpoint da API
.setProject('<YOUR_PROJECT_ID>') // ID do projeto
.setSession(''); // sessão do usuário
const account = new Account(client);
const result = await account.updateVerification({
userId: '<USER_ID>',
secret: '<SECRET>',
});

Criar verificação de e-mail (OTP)

SDK: @owbase/web e @owbase/node

Envia um código de verificação de 6 dígitos ao e-mail do usuário logado. Diferente de createEmailVerification, este método não precisa de URL de redirecionamento, o que o torna adequado para apps mobile e desktop que não conseguem hospedar uma página de verificação. Saiba como concluir a verificação. O código enviado ao e-mail do usuário vale por 15 minutos.

Ligue o parâmetro phrase para incluir uma frase de segurança gerada aleatoriamente no e-mail e na resposta. Mostrar essa frase no seu app permite ao usuário confirmar que o e-mail veio mesmo do pedido dele, o que ajuda a proteger contra phishing.

Parâmetro Tipo Obrigatório Descrição
phrase boolean não Liga ou desliga a frase de segurança. Se ligada, o e-mail é enviado com uma frase gerada aleatoriamente, e a mesma frase vem na resposta. Conferir se as frases batem aumenta a segurança do fluxo de autenticação.

Acesso: sessão do usuário (vale o que as permissões do recurso deixam).

@owbase/web
import { Client, Account } from '@owbase/web';
const client = new Client()
.setEndpoint('https://cloud.owbase.dev/v1') // endpoint da API
.setProject('<YOUR_PROJECT_ID>'); // ID do projeto
const account = new Account(client);
const result = await account.createEmailVerificationOTP({
phrase: false, // opcional
});
console.log(result);
@owbase/node
import { Client, Account } from '@owbase/node';
const client = new Client()
.setEndpoint('https://cloud.owbase.dev/v1') // endpoint da API
.setProject('<YOUR_PROJECT_ID>') // ID do projeto
.setSession(''); // sessão do usuário
const account = new Account(client);
const result = await account.createEmailVerificationOTP({
phrase: false, // opcional
});

Atualizar verificação de e-mail (OTP)

SDK: @owbase/web e @owbase/node

Conclui a verificação do e-mail do usuário com o código de 6 dígitos enviado por createEmailVerificationOTP. Envie o userId do usuário em verificação junto com o código secret do e-mail. Se confirmado, esta rota devolve o status 200 e o código é consumido.

Parâmetro Tipo Obrigatório Descrição
userId string sim ID do usuário.
secret string sim Código OTP de verificação válido.

Acesso: sem chave nem sessão: basta o ID do projeto.

@owbase/web
import { Client, Account } from '@owbase/web';
const client = new Client()
.setEndpoint('https://cloud.owbase.dev/v1') // endpoint da API
.setProject('<YOUR_PROJECT_ID>'); // ID do projeto
const account = new Account(client);
const result = await account.updateEmailVerificationOTP({
userId: '<USER_ID>',
secret: '<SECRET>',
});
console.log(result);
@owbase/node
import { Client, Account } from '@owbase/node';
const client = new Client()
.setEndpoint('https://cloud.owbase.dev/v1') // endpoint da API
.setProject('<YOUR_PROJECT_ID>') // ID do projeto
.setSession(''); // sessão do usuário
const account = new Account(client);
const result = await account.updateEmailVerificationOTP({
userId: '<USER_ID>',
secret: '<SECRET>',
});

Criar verificação de telefone

SDK: @owbase/web e @owbase/node

Envia um SMS de verificação ao usuário logado. Este endpoint serve para depois de atualizar o telefone do usuário com o endpoint accountUpdatePhone. Saiba como concluir a verificação. O código de verificação enviado ao telefone do usuário vale por 15 minutos.

Sem parâmetros.

Acesso: sessão do usuário (vale o que as permissões do recurso deixam).

@owbase/web
import { Client, Account } from '@owbase/web';
const client = new Client()
.setEndpoint('https://cloud.owbase.dev/v1') // endpoint da API
.setProject('<YOUR_PROJECT_ID>'); // ID do projeto
const account = new Account(client);
const result = await account.createPhoneVerification();
console.log(result);
@owbase/node
import { Client, Account } from '@owbase/node';
const client = new Client()
.setEndpoint('https://cloud.owbase.dev/v1') // endpoint da API
.setProject('<YOUR_PROJECT_ID>') // ID do projeto
.setSession(''); // sessão do usuário
const account = new Account(client);
const result = await account.createPhoneVerification();

Atualizar verificação de telefone (confirmação)

SDK: @owbase/web e @owbase/node

Conclui a verificação do telefone do usuário. Use o userId e o secret enviados ao telefone do usuário para confirmar que ele é dono do número de telefone. Se confirmado, esta rota devolve o status 200.

Parâmetro Tipo Obrigatório Descrição
userId string sim ID do usuário.
secret string sim Token de verificação válido.

Acesso: sem chave nem sessão: basta o ID do projeto.

@owbase/web
import { Client, Account } from '@owbase/web';
const client = new Client()
.setEndpoint('https://cloud.owbase.dev/v1') // endpoint da API
.setProject('<YOUR_PROJECT_ID>'); // ID do projeto
const account = new Account(client);
const result = await account.updatePhoneVerification({
userId: '<USER_ID>',
secret: '<SECRET>',
});
console.log(result);
@owbase/node
import { Client, Account } from '@owbase/node';
const client = new Client()
.setEndpoint('https://cloud.owbase.dev/v1') // endpoint da API
.setProject('<YOUR_PROJECT_ID>') // ID do projeto
.setSession(''); // sessão do usuário
const account = new Account(client);
const result = await account.updatePhoneVerification({
userId: '<USER_ID>',
secret: '<SECRET>',
});

As descrições desta página são traduções das que vêm da especificação da API do servidor (licença BSD-3-Clause), e os exemplos vêm do gerador de SDKs (licença MIT). Os avisos completos estão no arquivo NOTICE dos pacotes @owbase/web e @owbase/node.