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
.
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:
Nome | Descrição | Caminho de Montagem |
OIDC Provider | Um OpenID Provider. | /oidc |
Logto API | Management API, Experience API e Account API. | /api |
Proxies de frontend | Proxies 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
.
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
- OpenID Connect Core
- OpenID Connect Discovery
- OpenID Connect RP-Initiated Logout
- OpenID Connect Back-Channel Logout
- OAuth 2.0
- OAuth 2.0 Token Introspection
- OAuth 2.0 Token Revocation
- OAuth 2.0 Resource Indicators
- Proof Key for Code Exchange (PKCE)
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:
- Confira o guia Desenvolva sua interface personalizada para aprender como usar a Experience API para construir sua interface de experiência personalizada
- Consulte Referências da Experience API para documentação detalhada da API
- Leia o RFC de design da Experience API para especificações técnicas detalhadas e exemplos
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 comoBearer <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:
Nome | Pacote de Frontend | Caminho 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 | / |
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.