Pular para o conteúdo principal

Serviço Principal

Introdução

Serviço Principal é um serviço monolítico para funções críticas do Logto. O código fonte está em @logto/core.

nota

Serviço Principal e SDK core são dois conceitos separados. Veja convenção do SDK para as diferenças.

Para simplificar, dividimos o Serviço Principal em quatro módulos principais:

NomeDescriçãoCaminho de Montagem
OIDC ProviderUm OpenID Provider./oidc
Logto APIManagement API, Experience API e Account API./api
Proxies de frontendProxies HTTP ou serviço de arquivos estáticos para projetos de frontend.

Veja Proxies de frontend para detalhes.

APIs de backend, incluindo OIDC, são construídas dentro do pacote core, enquanto os proxies de frontend dependem dos pacotes irmãos correspondentes no monorepo do Logto.

OIDC Provider

Logto usa a incrível implementação certificada OpenID Connect node-oidc-provider por trás dos panos. O provedor está montado em /oidc, e você pode verificar as configurações e arquivos relativos em packages/core/src/oidc.

O Userinfo Endpoint do OIDC está disponível e montado em /oidc/me.

info

Se você quiser chamar diretamente as APIs do OIDC, lembre-se de definir o cabeçalho Content-Type: application/x-www-form-urlencoded.

Funcionalidades OpenID habilitadas

Logto API

Management API

Management API é um conjunto de APIs que gerenciam e atualizam dados do Logto. Apenas usuários com o papel admin têm acesso a elas.

Vá para Referências de API para ver os detalhes.

Para acessar a API programaticamente, veja Interagir com Management API.

Experience API

Experience API é um conjunto de endpoints dedicados que suportam interações de interface de login personalizadas.

Essas APIs permitem que os desenvolvedores implementem recursos principais de autenticação, incluindo login, cadastro, redefinição de senha, vinculação de conta social e autenticação multifatorial (MFA). Para implementar esses recursos, sua interface personalizada precisa interagir com a Experience API.

Para entender melhor os fluxos de usuário e detalhes de implementação:

Account API

Account API é um conjunto abrangente de APIs que oferece aos usuários finais acesso direto à API sem precisar passar pela Management API, aqui estão os destaques:

  • Acesso direto: A Account API capacita os usuários finais a acessar e gerenciar diretamente seu próprio perfil de conta sem exigir o uso da Management API.
  • Gerenciamento de perfil de usuário e identidades: Os usuários podem gerenciar totalmente seus perfis e configurações de segurança, incluindo a capacidade de atualizar informações de identidade como email, telefone e senha, bem como gerenciar conexões sociais. Suporte a MFA e SSO em breve.
  • Controle de acesso global: O administrador tem controle total e global sobre as configurações de acesso, podendo personalizar cada campo.
  • Autorização sem complicações: Autorizar é mais fácil do que nunca! Basta usar client.getAccessToken() para obter um token de acesso opaco para OP (Logto) e anexá-lo ao cabeçalho de Autorização como Bearer <access_token>.

Com a Logto Account API, você pode construir um sistema de gerenciamento de contas personalizado, como uma página de perfil totalmente integrada ao Logto.

Confira Configurações de conta pela Account API para aprender como aproveitar a Account API para construir sua própria página de configurações de conta.

Consulte Referências da Account API para documentação detalhada da API.

Proxies de frontend

Um proxy de frontend é uma função de middleware que serve um projeto de frontend de uma maneira relacionada ao ambiente:

  • Se for desenvolvimento, ele faz proxy das solicitações HTTP para o servidor de desenvolvimento do frontend.
  • Se for produção, ele serve arquivos estáticos do frontend diretamente.

Logto tem três proxies de frontend:

NomePacote de FrontendCaminho de Montagem
Proxy do Admin Console/packages/console/console
Proxy do aplicativo de demonstração/packages/demo-app/demo-app
Proxy da UI (experiência de login)/packages/ui/
nota

Você pode notar que o proxy da UI usa o caminho raiz. Ao contrário de outros proxies, o proxy da UI é um proxy de fallback, o que significa que ele só entra em ação quando nenhum outro proxy é correspondido.