Configurações de conta via Management API
Integrações
O Logto fornece diversas Management API para gerenciar contas de usuários. Você pode usar essas APIs para construir uma página de configurações de conta self-service para os usuários finais.
Arquitetura
- Usuário: Usuário final autenticado que precisa acessar e gerenciar suas configurações de conta.
- Aplicativo cliente: Seu aplicativo cliente que exibe a página de configurações de conta para o usuário.
- Aplicativo server-side: Aplicativo server-side que fornece a API de configurações de conta para o cliente. Interage com a Management API do Logto.
- Logto: Logto como serviço de autenticação e autorização. Fornece a Management API para gerenciar contas de usuários.
Diagrama de sequência
- O usuário acessa o aplicativo cliente.
- O aplicativo cliente envia a solicitação de autenticação para o Logto e redireciona o usuário para a página de login do Logto.
- O usuário faz login no Logto.
- O usuário autenticado é redirecionado de volta ao aplicativo cliente com o código de autorização.
- O aplicativo cliente solicita o token de acesso ao Logto para acessar a API de configurações de conta self-hosted.
- O Logto concede o token de acesso ao aplicativo cliente.
- O aplicativo cliente envia a solicitação de configurações de conta para o aplicativo server-side com o token de acesso do usuário.
- O aplicativo server-side verifica a identidade e permissão do solicitante a partir do token de acesso do usuário. Em seguida, solicita um token de acesso à Management API do Logto.
- O Logto concede o token de acesso à Management API para o aplicativo server-side.
- O aplicativo server-side solicita os dados do usuário ao Logto usando o token de acesso da Management API.
- O Logto verifica a identidade do servidor e a permissão da Management API e retorna os dados do usuário.
- O aplicativo server-side processa os dados do usuário com base na permissão do solicitante e retorna os detalhes da conta do usuário para o aplicativo cliente.
Integrar Management API ao aplicativo server-side
Consulte a seção Management API para saber como integrar as Management APIs com aplicativos server-side.
APIs de gerenciamento de usuários
Esquema de dados do usuário
Consulte a seção dados do usuário e dados personalizados para saber mais sobre o esquema de usuário no Logto.
APIs de gerenciamento de perfil e identificadores do usuário
O perfil e os identificadores de um usuário são essenciais para o gerenciamento de usuários. Você pode usar as seguintes APIs para gerenciar perfis e identificadores de usuários.
method | path | description |
---|---|---|
GET | /api/users/{userId} | Obter detalhes do usuário pelo ID. |
PATCH | /api/users/{userId} | Atualizar detalhes do usuário. |
PATCH | /api/users/{userId}/profile | Atualizar campos do perfil do usuário pelo ID. |
GET | /api/users/{userId}/custom-data | Obter dados personalizados do usuário pelo ID. |
PATCH | /api/users/{userId}/custom-data | Atualizar dados personalizados do usuário pelo ID. |
PATCH | /api/users/{userId}/is-suspended | Atualizar status de suspensão do usuário pelo ID. |
Verificação de email e número de telefone
No sistema Logto, tanto endereços de email quanto números de telefone podem servir como identificadores de usuário, tornando sua verificação essencial. Para isso, fornecemos um conjunto de APIs de código de verificação para ajudar a verificar o email ou número de telefone fornecido.
Certifique-se de verificar o email ou número de telefone antes de atualizar o perfil do usuário com um novo email ou número de telefone.
method | path | description |
---|---|---|
POST | /api/verifications/verification-code | Enviar código de verificação de email ou telefone. |
POST | /api/verifications/verification-code/verify | Verificar email ou telefone pelo código de verificação. |
Gerenciamento de senha do usuário
method | path | description |
---|---|---|
POST | /api/users/{userId}/password/verify | Verificar senha atual do usuário pelo ID. |
PATCH | /api/users/{userId}/password | Atualizar senha do usuário pelo ID. |
GET | /api/users/{userId}/has-password | Verificar se o usuário possui senha pelo ID. |
Certifique-se de verificar a senha atual do usuário antes de atualizar a senha do usuário.
Gerenciamento de identidades sociais do usuário
method | path | description |
---|---|---|
GET | /api/users/{userId} | Obter detalhes do usuário pelo ID. As identidades sociais podem ser encontradas no campo identities . |
POST | /api/users/{userId}/identities | Vincular uma identidade social autenticada ao usuário pelo ID. |
DELETE | /api/users/{userId}/identities | Desvincular uma identidade social do usuário pelo ID. |
PUT | /api/users/{userId}/identities | Atualizar diretamente uma identidade social vinculada ao usuário pelo ID. |
POST | /api/connectors/{connectorId}/authorization-uri | Obter a URI de autorização para um provedor de identidade social. Use esta URI para iniciar uma nova conexão social. |
- O usuário acessa o aplicativo cliente e solicita vincular uma identidade social.
- O aplicativo cliente envia uma solicitação ao servidor para vincular uma identidade social.
- O servidor envia uma solicitação ao Logto para obter a URI de autorização do provedor de identidade social. Você precisa fornecer seu próprio parâmetro
state
eredirect_uri
na solicitação. Certifique-se de registrar oredirect_uri
no provedor de identidade social. - O Logto retorna a URI de autorização para o servidor.
- O servidor retorna a URI de autorização para o aplicativo cliente.
- O aplicativo cliente redireciona o usuário para a URI de autorização do IdP.
- O usuário faz login no IdP.
- O IdP redireciona o usuário de volta ao aplicativo cliente usando o
redirect_uri
com o código de autorização. - O aplicativo cliente valida o
state
e encaminha a resposta de autorização do IdP para o servidor. - O servidor envia uma solicitação ao Logto para vincular a identidade social ao usuário.
- O Logto obtém as informações do usuário do IdP usando o código de autorização.
- O IdP retorna as informações do usuário ao Logto e o Logto vincula a identidade social ao usuário.
Há algumas limitações a considerar ao vincular novas identidades sociais a um usuário:
- A Management API não possui contexto de sessão, qualquer conector social que exija uma sessão ativa para manter o estado da autenticação social com segurança não pode ser vinculado via Management API. Conectores não suportados incluem apple, OIDC padrão e conector OAuth 2.0 padrão.
- Pelo mesmo motivo, o Logto não pode verificar o parâmetro
state
na resposta de autorização. Certifique-se de armazenar o parâmetrostate
em seu app cliente e validá-lo quando a resposta de autorização for recebida. - Você precisa registrar o
redirect_uri
no provedor de identidade social com antecedência. Caso contrário, o IdP social não redirecionará o usuário de volta ao seu app cliente. Seu IdP social deve aceitar mais de um callbackredirect_uri
, um para login do usuário, outro para sua própria página de vinculação de perfil.
Gerenciamento de identidades corporativas do usuário
method | path | description |
---|---|---|
GET | /api/users/{userId}?includeSsoIdentities=true | Obter detalhes do usuário pelo ID. As identidades corporativas podem ser encontradas no campo ssoIdentities . Adicione o parâmetro de consulta includeSsoIdentities=true para incluí-las. |
Atualmente, a Management API não suporta vincular ou desvincular identidades corporativas a um usuário. Você só pode exibir as identidades corporativas vinculadas a um usuário.
Token de acesso pessoal
method | path | description |
---|---|---|
GET | /api/users/{userId}/personal-access-tokens | Obter todos os tokens de acesso pessoal do usuário. |
POST | /api/users/{userId}/personal-access-tokens | Adicionar um novo token de acesso pessoal ao usuário. |
DELETE | /api/users/{userId}/personal-access-tokens/{name} | Excluir um token do usuário pelo nome. |
PATCH | /api/users/{userId\s}/personal-access-tokens/{name} | Atualizar um token do usuário pelo nome. |
Tokens de acesso pessoal fornecem uma maneira segura para os usuários concederem token de acesso (Access token) sem usar suas credenciais e login interativo. Saiba mais sobre como usar tokens de acesso pessoal.
Gerenciamento de configurações de MFA do usuário
method | path | description |
---|---|---|
GET | /api/users/{userId}/mfa-verifications | Obter configurações de MFA do usuário pelo ID. |
POST | /api/users/{userId}/mfa-verifications | Configurar uma verificação MFA para o usuário pelo ID. |
DELETE | /api/users/{userId}/mfa-verifications/{verificationId} | Excluir uma verificação MFA do usuário pelo ID. |
Exclusão de conta do usuário
method | path | description |
---|---|---|
DELETE | /api/users/{userId} | Excluir um usuário pelo ID. |