Infraestrutura de identidade para SaaS

Pare de reconstruir autenticaçãoe construa seu produto

Tudo que seu SaaS precisa para gerenciar identidade, acesso e ciclo de vida de usuários.

Configuração de identidadestagingproduction
Concluída1.13sImplantaçãon5s6mmy3b7ns4cmrh9aeen8h
authentication.mfa.totp
obrigatório
authentication.providers
3 para 5 ativos
protection.bot
turnstile
tokens.claims.plan
prévia para ativo
communications.templates
sem alteração
Multifator, provedores de login, proteção contra bots, claims de token e templates de envio são configurações aqui, não cinco integrações para manter em sincronia

Autenticação

Tudo o que existe atrás de um login

Verificação, sessões, papéis e recuperação sobem como um sistema só, inspecionáveis até a requisição

Formas de entrar

E-mail, telefone, usuário ou login social, com senha ou código de uso único

+351 912 •••• 88sms otp
ada.lovelaceusername
···social
one identity

Multifator

Um segundo fator por app ou SMS, com códigos de recuperação para o dia em que alguém perde o celular

471
  • totpon
  • recuperação8 of 10
  • smsoff

Sessões e dispositivos

Veja cada dispositivo em que alguém está logado e derrube qualquer um deles, sem mexer nos outros

macOS · ChromeLisbonatual
iOS · SafariPorto
Windows · EdgeMadridrevogada

Papéis e permissões

O mesmo papel pode significar coisas diferentes por cliente, então você para de escrever uma camada de permissão por tenant

owner
projects:writeinvoices:readmembers:invite

Claims do token

Coloque papel, tenant ou plano dentro do access token, e veja o resultado num usuário real antes de subir

claims.json
"email": "{{ user.email }}",
"role": "{{ grants.0.role }}",
"tenant": "{{ org.slug }}",
"plan": "{{ billing.plan }}",

Modo sudo

Mais uma confirmação antes de uma ação destrutiva — só para aquela ação, nunca para a sessão inteira

Ações sensíveis

uso único · 5m

Proteção contra abuso

Limites de taxa e checagem de bot na frente do login, recuperação e consultas — os endpoints que apanham primeiro

8 blocked · checagem de bot

Quando seus usuários estão ativos

Entradas, cadastros e verificações no mesmo relógio, para você ver quando seus usuários realmente aparecem

segterquaquisexsábdom

pico dia útil 10:00 · 1.284 eventos

Cada um destes é uma configuração, não um deploy — definido por ambiente e promovido com um diff

O que uma requisição realmente aciona

Seis requisições que um produto faz, e os sistemas que cada uma acorda no caminho

Verificar
eyJhbGciOiJFZ
  1. protectionLimite de taxa verificado
    1ms
  2. tokensAssinatura conferida
    2ms
  3. authorizationPapel correspondente · owner
    5ms
  4. authorizationEscopo concedido · projects:write
    3ms
Verificado para proj_16tbwq3411ms total
Cinco sistemas que você compraria, integraria e manteria em sincronia separadamente — dentro de uma requisição
O control plane

Tudo acima, já construído

Este é o console que seu time recebe no primeiro dia — as telas que você gastaria um trimestre construindo, para cada parte de identidade que seu produto encosta

Auth/Users

Users

Everyone who has an identity in this project.

New user
UserStatusLast sign in
ALAda Lovelace[email protected]Active2 minutes ago
GHGrace Hopper[email protected]Active18 minutes ago
ATAlan Turing[email protected]Active3 hours ago
KJKatherine Johnson[email protected]Not confirmednever
RPRadia Perlman[email protected]Banned9 days ago
CosturasO que você construiria

Pare de costurar infraestrutura de identidade

A maioria dos times de SaaS acaba integrando vários fornecedores só para gerenciar usuários, permissões, convites, comunicações e logs de auditoria

5 fornecedores · 10 integrações para manter

  • Provedor de auth
  • Provedor de autorização
  • Provedor de e-mail
  • Provedor de SMS
  • Logs de auditoria

1 fornecedor · 0 integrações

Uma plataforma

O custo não são os fornecedores. São as costuras entre eles

O que você precisava fazer

Colocar um papel no access token

Escrever cola no issuer para cada claim que você precisa.

Um template de claims com preview num usuário real.

Mudar o e-mail de convite

O fluxo mora num fornecedor, o template em outro.

Um template, por canal e por idioma.

Responder quem mudou o quê, e quando

Juntar trilhas de auditoria de cinco sistemas que discordam no horário.

Uma trilha com autor, alvo e categoria.

Promover uma mudança de config para produção

Repetir na mão em cada fornecedor e torcer para nada ter divergido.

Comparar dois ambientes e aplicar o diff.

PlataformaO que entra no lugar

Construído como um sistema só, não montado a partir de cinco

Lance seu próprio ecossistema OAuth

Crie aplicações, gerencie fluxos de consentimento, autorize integrações de terceiros e opere seu próprio servidor OAuth

/.well-known/openid-configuration
{
"issuer": "https://acme.nulvless.app",
"authorization_endpoint": "/oauth/authorize",
"token_endpoint": "/oauth/token",
"userinfo_endpoint": "/oauth/userinfo",
"jwks_uri": "/.well-known/jwks.json",
"scopes_supported": ["openid", "profile", "email", "offline_access"],
"code_challenge_methods_supported": ["S256"],
}

Todo projeto é um issuer desde o primeiro minuto — qualquer cliente em conformidade descobre sozinho, sem uma linha de cola

As perguntas que uma revisão de segurança faz

Não como as pessoas entram — como você prova o que aconteceu depois. Toda mudança e toda requisição carrega autor, alvo e horário

Organization/Audit logs

Audit logs

Who changed what, in which environment, and when.

ActionWhen
Rotated secret keyyesterday at 14:02
Promoted development to productionyesterday at 11:41
Granted role admin2 days ago
Enabled provider apple3 days ago
Deleted environment preview/checkout4 days ago
Added redirect URL6 days ago

Trilha de auditoria

Cada mudança de configuração registrada com autor, alvo e categoria

Histórico de requisições

Uma trilha pesquisável de requisições individuais, não só totais agregados

Chaves por ambiente

Uma chave de API pertence a um ambiente, então uma chave de teste não alcança produção

Lista de redirects

O login só retorna para as URLs listadas naquele ambiente

Tráfego e performance

Tráfego e taxa de erro em gráfico, ao lado das requisições que os geraram

Ambientes isolados

Staging e produção nunca compartilham estado, usuários ou chaves

Toda chamada é tipada, toda falha tem um código

SDKs tipados, um código de erro para cada falha, e quickstarts por framework que terminam com um usuário logado

Verify
const { data: verified } = await nulvless.auth.verify({
  resource: "proj_16tbwq34",
  roles: ["owner", "admin"],
});
Verified
{
  "data": {
    "user": { "id": "usr_4c81f0a2" },
    "session": {
      "id": "ses_7b31d0",
      "amr": [{ "method": "password" }, { "method": "totp" }],
      "scopes": ["projects:write"]
    }
  },
  "error": null
}
OperaçãoComo é operar

Um control plane, da organização à requisição

Organizações contêm projetos, projetos contêm ambientes, e toda decisão de identidade é inspecionável até a requisição individual

Merge de estados de ambiente
Concluído1,13s
  1. Initialize

    188ms

  2. Promote authentication

    653ms

  3. Promote communications

    285ms

staging
staging
production
Deployment
n5s6mmy3b7ns4cmrh9aeen8h
Configuração de identidade é promovida como código. Cada ambiente tem host próprio, e cada promoção é um deployment que você inspeciona

Clientes e times

Organização

Membros · Billing · Uso · Logs de auditoria · Configurações

Identidade e acesso

Projeto

Usuários · Papéis · Provedores · Proteção · Rate limits · Claims

Ambientes e releases

Ambientes

Ambientes · Comparação · Deployments · Redirects · API keys

Tráfego e histórico

Observabilidade

Tráfego · Performance · Rede · Audiência · Serviços · Query de logs

Uma plataforma, desde o primeiro usuário

Foque no seu produto. A infraestrutura de identidade é com a gente

O que você teria construído

Seis áreas, e cada uma delas é um projeto por si só.

  • Autenticaçãosenhas, provedores, MFA, sessões
  • AutorizaçãoRBAC, escopos, grants por recurso
  • OAuth serverdiscovery OIDC, JWKS, PKCE
  • Edge functionsruntime Deno, deploys, rollback
  • Notificaçõestemplates, provedores, logs de entrega
  • Observabilidademonitoramento, auditoria, consulta
Aproximadamente9 engineer-months · $135.000Você começa em$0