Português (Brasil)
  • jwt
  • auth
  • dados de usuário

Hub seguro para dados de usuários em movimento

Contrasta autenticação e dados de usuário. Detalha o armazenamento seguro e movimentação do Logto. Descreve melhores práticas para fluxo de dados (mapeamento de atributos, sincronização de dados, JWTs personalizados).

Ran
Ran
Product & Design

Os metadados de usuários são o ponto crucial dos serviços de Gerenciamento de Identidade e Acesso (IAM). Eles impulsionam recursos de produtos como análise de dados, experiências personalizadas, monitoramento de segurança e controle de acesso. Mas à medida que as aplicações se tornam mais interconectadas entre plataformas, organizações e aplicações, o gerenciamento de metadados de usuários pode se tornar complexo. Não tema! Compreendendo o fluxo dos dados de usuários, você pode construir uma experiência de autenticação perfeitamente segura.

Dados de autenticação vs. dados de usuário

Nem todos os dados de usuário são criados iguais. Dados de autenticação são um subconjunto específico trocado durante a emissão de token. Imagine um JWT (Token Web JSON) viajando nas suas solicitações HTTP. Um JWT grande pode desacelerar as coisas. Para manter a agilidade e segurança, incluímos apenas informações essenciais do usuário, como identidade, status da conta, detalhes de autenticação, permissões e um perfil básico do usuário.

Aqui no Logto, focamos em armazenar os seguintes pontos de dados de autenticação:

  • Status da conta: Acompanhe o tempo de criação, atualizações, status de suspensão e histórico de login. Incluindo create_at , updated_at, account_suspended, last_ip.
  • Informações de autenticação: Isso inclui identificadores de usuário, fatores de autenticação e dados relacionados à verificação. Incluindo user_id, password_digest, password_algorithm, username, email, email_verified, phone, phone_verified, social_identities, sso_identities, mfa_config, mfa_verification_factors.
  • Informações de autorização: Gerencie funções, permissões, membros de organizações e aplicativos e dispositivos autorizados para controle de acesso granular. Incluindo role, permission, organization_id, organization_role, organization_permission, grant_application, grant_device.
  • Perfil de usuário padrão: Este é o perfil de usuário mais comum registrado pelo OIDC. O Logto também define como metadados de usuário padrão, armazenados sob o namespace 'profile.'. Incluindo first_name, last_name, middle_name, name, nickname, profile, website, avatar, gender, birthdate, zoneinfo, locale, address.

Além do básico: Personalizando dados de usuários com Logto

  • O Logto vai além do perfil padrão. Nossa API de Gerenciamento permite que você defina dados personalizados específicos para as necessidades do seu negócio. Esses dados são armazenados com segurança em um namespace dedicado 'custom.data'. Aqui estão alguns casos: occupation, company_name, company_size.

Pensando fora do cofre: dados de API externa com JWT personalizado

  • Certos dados de negócios podem não precisar de armazenamento permanente no Logto. A beleza do JWT Personalizado é que você pode buscar dinamicamente esses dados através de chamadas de API durante a emissão de token, expandindo o alcance dos seus dados de usuário. Lembre-se, a segurança é primordial, então evite incluir informações sensíveis nos JWTs, pois eles são facilmente analisados. Aqui estão alguns casos: subscribed_status, last_path_visited, app_theme.

A jornada dos dados do usuário: aquisição e distribuição

Os dados dos usuários vêm de várias fontes:

  • Entrada de usuários: Durante inscrição, integração ou atualizações de perfil dentro da sua aplicação.
  • Provedores de identidade (IdPs): Sincronizados sem problemas durante logins sociais ou SSO de empresa.
  • Migração de dados: Movendo dados de bancos de dados existentes.
  • Intervenção de admin: Admin edita manualmente via console ou banco de dados.

Uma vez que você tem esses dados valiosos, você pode compartilhá-los de maneira segura:

  • Concessão de permissões para aplicativos de terceiros: Forneça acesso controlado aos dados de usuários para aplicativos autorizados.
  • Exportação de dados: Exporte dados de usuários do Logto para análises posteriores.
  • Entrega via JWTs, Webhooks ou APIs: Compartilhe dados de usuários com seus serviços internos para uma experiência de usuário unificada.

Como um centro de identidade, o Logto se destaca em facilitar o fluxo de dados de usuários. Facilitamos a aquisição de informações de usuários a partir de vários provedores e entregamos com segurança para partes autorizadas.

Pontos-chave

Agora que você entendeu a jornada dos dados do usuário, vamos explorar algumas considerações de design chave:

  1. Mapeamento de atributos Garanta o mapeamento preciso de atributos de usuários de diferentes fontes para evitar silos de dados. Para conexões SAML, o mapeamento manual é necessário. Ao utilizar OIDC, aproveite reivindicações padronizadas ou crie namespaces únicos para evitar conflitos.
  2. Sincronização de dados IdP e RP A sincronização de dados entre IdPs (provedores de identidade) e RPs (partes confiáveis) geralmente envolve autorização e pedidos de escopo específico de ambos os lados. Preste atenção ao status de verificação. Um "Email verificado=false" sincronizado de um IdP como GitHub ou Azure AD pode não ser um email verificado no seu sistema. Lide com isso adequadamente.
  3. Segregação e sobrescrita de dados em uma estrutura multi-entidade Em ambientes complexos com várias organizações, aplicativos e provedores, a segregação de dados e o comportamento de sobrescrita tornam-se cruciais.
    • Multi-organização: Um usuário pode pertencer a várias organizações. Diferencie dados de usuários armazenados na conta de usuário de dados específicos da organização. Alterações dentro de uma organização não devem afetar as outras.
    • Multi-app: Para aplicativos que compartilham um banco de dados de usuários via Logto, implemente um módulo centralizado de configurações de conta ou perfil no seu serviço.
    • Multi-provedor: Aplicações com vários métodos de assinatura recebem diferentes informações de usuários de cada provedor. No Logto, escolha sincronizar dados durante o registro de login social ou a cada login para SSO Empresarial. O login social é ideal para sincronização de dados inicial, enquanto o SSO Empresarial pode sincronizar informações de membros a cada login para facilitar o gerenciamento dentro do IdP empresarial.
  4. JWTs personalizados para acesso expandido a dados O poder dos JWTs Personalizados reside em sua habilidade de recuperar informações externas dinamicamente durante a emissão de token através de chamadas de API. Isso permite acessar pontos de dados que podem não ser essenciais para a funcionalidade principal, mas podem enriquecer a experiência do usuário. Lembre-se, com grande flexibilidade vem grande responsabilidade. Como os JWTs são facilmente analisados por qualquer um que os receba, evite incluir dados sensíveis.
  5. Registro progressivo para um fluxo de integração mais suave Não sobrecarregue os usuários com um formulário de registro do tamanho de um romance. Implemente o registro progressivo, uma técnica onde você solicita apenas as informações mais críticas do usuário inicialmente. Isso simplifica o processo de inscrição e mantém os usuários engajados. À medida que os usuários interagem com sua aplicação, você pode gradualmente coletar pontos de dados adicionais para construir um perfil de usuário mais rico.

Ao seguir essas melhores práticas, você pode garantir um fluxo contínuo e seguro de dados de usuário ao longo da jornada de autenticação.

Logto: Seu hub seguro para dados de usuários em movimento

Gerenciar efetivamente metadados de usuários permite que você personalize experiências de usuários, melhore a segurança e obtenha insights valiosos sobre o comportamento do usuário. Ao aproveitar a plataforma segura e flexível do Logto, você pode desbloquear todo o potencial dos dados de usuários e ganhar uma vantagem competitiva em um mercado cada vez mais orientado por dados.