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).
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);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.
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);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});updateEmail
Seção intitulada “updateEmail”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).
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);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',});listIdentities
Seção intitulada “listIdentities”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).
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);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});deleteIdentity
Seção intitulada “deleteIdentity”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).
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);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>',});createJWT
Seção intitulada “createJWT”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).
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);updateMFA
Seção intitulada “updateMFA”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).
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);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,});createMFAAuthenticator
Seção intitulada “createMFAAuthenticator”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).
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);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,});createMfaAuthenticator
Seção intitulada “createMfaAuthenticator”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.
updateMFAAuthenticator
Seção intitulada “updateMFAAuthenticator”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).
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);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>',});updateMfaAuthenticator
Seção intitulada “updateMfaAuthenticator”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.
deleteMFAAuthenticator
Seção intitulada “deleteMFAAuthenticator”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).
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);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,});deleteMfaAuthenticator
Seção intitulada “deleteMfaAuthenticator”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.
createMFAChallenge
Seção intitulada “createMFAChallenge”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).
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);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,});createMfaChallenge
Seção intitulada “createMfaChallenge”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.
updateMFAChallenge
Seção intitulada “updateMFAChallenge”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).
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);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>',});updateMfaChallenge
Seção intitulada “updateMfaChallenge”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.
listMFAFactors
Seção intitulada “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).
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);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();listMfaFactors
Seção intitulada “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.
getMFARecoveryCodes
Seção intitulada “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).
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);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();getMfaRecoveryCodes
Seção intitulada “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.
createMFARecoveryCodes
Seção intitulada “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).
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);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();createMfaRecoveryCodes
Seção intitulada “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.
updateMFARecoveryCodes
Seção intitulada “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).
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);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();updateMfaRecoveryCodes
Seção intitulada “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.
updateName
Seção intitulada “updateName”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).
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);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>',});listPasskeys
Seção intitulada “listPasskeys”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).
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);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});createPasskey
Seção intitulada “createPasskey”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).
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);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});getPasskey
Seção intitulada “getPasskey”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).
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);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>',});updatePasskey
Seção intitulada “updatePasskey”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).
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);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>',});deletePasskey
Seção intitulada “deletePasskey”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).
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);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>',});updatePasskeyVerification
Seção intitulada “updatePasskeyVerification”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).
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);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: {},});updatePassword
Seção intitulada “updatePassword”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).
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);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});updatePhone
Seção intitulada “updatePhone”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).
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);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',});getPrefs
Seção intitulada “getPrefs”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).
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);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();updatePrefs
Seção intitulada “updatePrefs”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).
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);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, },});createRecovery
Seção intitulada “createRecovery”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.
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);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',});updateRecovery
Seção intitulada “updateRecovery”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.
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);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',});createRecoveryOTP
Seção intitulada “createRecoveryOTP”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.
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);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});updateRecoveryOTP
Seção intitulada “updateRecoveryOTP”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.
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);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',});listSessions
Seção intitulada “listSessions”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).
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);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});deleteSessions
Seção intitulada “deleteSessions”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).
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);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});createAnonymousSession
Seção intitulada “createAnonymousSession”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.
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);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();createEmailPasswordSession
Seção intitulada “createEmailPasswordSession”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.
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);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});createIdTokenSession
Seção intitulada “createIdTokenSession”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.
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);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});updateMagicURLSession
Seção intitulada “updateMagicURLSession”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.
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);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>',});createOAuth2Session
Seção intitulada “createOAuth2Session”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.
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});updatePhoneSession
Seção intitulada “updatePhoneSession”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.
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);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>',});createSession
Seção intitulada “createSession”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.
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);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>',});getSession
Seção intitulada “getSession”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).
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);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>',});updateSession
Seção intitulada “updateSession”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).
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);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>',});deleteSession
Seção intitulada “deleteSession”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).
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);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>',});updateStatus
Seção intitulada “updateStatus”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).
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);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();createEmailToken
Seção intitulada “createEmailToken”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.
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);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});createMagicURLToken
Seção intitulada “createMagicURLToken”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.
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);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});createOAuth2Token
Seção intitulada “createOAuth2Token”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.
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});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});createPasskeyToken
Seção intitulada “createPasskeyToken”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.
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);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();updatePasskeyToken
Seção intitulada “updatePasskeyToken”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.
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);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: {},});createPhoneToken
Seção intitulada “createPhoneToken”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.
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);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',});createEmailVerification
Seção intitulada “createEmailVerification”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).
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);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',});createVerification
Seção intitulada “createVerification”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).
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);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',});updateEmailVerification
Seção intitulada “updateEmailVerification”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.
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);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>',});updateVerification
Seção intitulada “updateVerification”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.
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);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>',});createEmailVerificationOTP
Seção intitulada “createEmailVerificationOTP”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).
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);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});updateEmailVerificationOTP
Seção intitulada “updateEmailVerificationOTP”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.
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);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>',});createPhoneVerification
Seção intitulada “createPhoneVerification”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).
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);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();updatePhoneVerification
Seção intitulada “updatePhoneVerification”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.
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);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.