Servicio Core
Introducción
El Servicio Core es un servicio monolítico para tareas críticas de Logto. El código fuente está en @logto/core
.
El Servicio Core y SDK core son dos conceptos separados. Consulta Convención de SDK para conocer las diferencias.
Para simplificar, dividimos el Servicio Core en cuatro módulos principales:
Nombre | Descripción | Ruta de Montaje |
Proveedor OIDC | Un Proveedor OpenID. | /oidc |
Logto API | Management API, Experience API y Account API. | /api |
Proxies de frontend | Proxies HTTP o servicio de archivos estáticos para proyectos frontend. | Consulta Proxies de frontend para más detalles. |
Las APIs de backend, incluido OIDC, se construyen dentro del paquete core
, mientras que los proxies de frontend dependen de los paquetes hermanos correspondientes en el monorepo de Logto.
Proveedor OIDC
Logto utiliza la increíble implementación certificada de OpenID Connect node-oidc-provider bajo el capó. El proveedor está montado en /oidc
, y puedes consultar configuraciones y archivos relativos en packages/core/src/oidc.
El Endpoint de Información del Usuario de OIDC está disponible y montado en /oidc/me
.
Si deseas llamar directamente a las APIs de OIDC, recuerda establecer el encabezado Content-Type: application/x-www-form-urlencoded
.
Funciones de 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 es un conjunto de APIs que gestionan y actualizan los datos de Logto. Solo los usuarios con el rol de admin
tienen acceso a ellas.
Dirígete a Referencias de API para ver los detalles.
Para acceder a la API programáticamente, consulta Interactuar con Management API.
Experience API
Experience API es un conjunto de endpoints dedicados que soportan interacciones de interfaz de inicio de sesión personalizadas.
Estas APIs permiten a los desarrolladores implementar funciones de autenticación principales, incluyendo inicio de sesión, registro, restablecimiento de contraseña, vinculación de cuentas sociales y autenticación multifactor (MFA). Para implementar estas funciones, tu interfaz de usuario personalizada necesita interactuar con Experience API.
Para comprender mejor los flujos de usuario y los detalles de implementación:
- Consulta la guía Desarrolla tu interfaz de usuario personalizada para aprender cómo usar Experience API para construir tu interfaz de experiencia personalizada
- Consulta Referencias de Experience API para documentación detallada de la API
- Lee el RFC de diseño de Experience API para especificaciones técnicas detalladas y ejemplos
Account API
Account API es un conjunto completo de APIs que brinda a los usuarios finales acceso directo a la API sin necesidad de pasar por Management API, aquí están los aspectos destacados:
- Acceso directo: Account API permite a los usuarios finales acceder y gestionar directamente su propio perfil de cuenta sin requerir el relevo de Management API.
- Gestión de perfil de usuario e identidades: Los usuarios pueden gestionar completamente sus perfiles y configuraciones de seguridad, incluyendo la capacidad de actualizar información de identidad como correo electrónico, teléfono y contraseña, así como gestionar conexiones sociales. El soporte para MFA y SSO llegará pronto.
- Control de acceso global: El administrador tiene control total y global sobre las configuraciones de acceso, puede personalizar cada campo.
- Autorización sin problemas: ¡Autorizar es más fácil que nunca! Simplemente usa
client.getAccessToken()
para obtener un token de acceso opaco para OP (Logto), y adjúntalo al encabezado de Autorización comoBearer <access_token>
.
Con Logto Account API, puedes construir un sistema de gestión de cuentas personalizado como una página de perfil totalmente integrada con Logto.
Consulta Configuraciones de cuenta por Account API para aprender cómo aprovechar Account API para construir tu propia página de configuraciones de cuenta.
Consulta Referencias de Account API para documentación detallada de la API.
Proxies de frontend
Un proxy de frontend es una función de middleware que sirve un proyecto frontend de una manera relacionada con el entorno:
- Si es desarrollo, redirige las solicitudes HTTP al servidor de desarrollo frontend.
- Si es producción, sirve archivos frontend estáticos directamente.
Logto tiene tres proxies de frontend:
Nombre | Paquete Frontend | Ruta de Montaje |
Proxy de la Consola de Administración | /packages/console | /console |
Proxy de la aplicación de demostración | /packages/demo-app | /demo-app |
Proxy de UI (experiencia de inicio de sesión) | /packages/ui | / |
Puedes notar que el proxy de UI utiliza la ruta raíz. A diferencia de otros proxies, el proxy de UI es un proxy de respaldo, lo que significa que solo entra en efecto cuando no se coincide con otro proxy.