Kernservice
Einführung
Der Kernservice ist ein monolithischer Dienst für kritische Logto-Aufgaben. Der Quellcode befindet sich in @logto/core
.
Kernservice und SDK-Kern sind zwei separate Konzepte. Siehe SDK-Konvention für die Unterschiede.
Zur Vereinfachung unterteilen wir den Kernservice in vier Hauptmodule:
Name | Beschreibung | Mount-Pfad |
OIDC-Anbieter | Ein OpenID-Anbieter. | /oidc |
Logto API | Management API, Experience API und Account API. | /api |
Frontend-Proxies | HTTP-Proxies oder statische Dateibereitstellung für Frontend-Projekte. | Siehe Frontend-Proxies für Details. |
Backend-APIs, einschließlich OIDC, sind im core
-Paket integriert, während Frontend-Proxies von den entsprechenden Geschwisterpaketen im Logto-Monorepo abhängen.
OIDC-Anbieter
Logto verwendet die großartige zertifizierte OpenID Connect-Implementierung node-oidc-provider im Hintergrund. Der Anbieter ist unter /oidc
eingebunden, und du kannst relative Konfigurationen und Dateien in packages/core/src/oidc überprüfen.
Der OIDC Userinfo-Endpunkt ist verfügbar und unter /oidc/me
eingebunden.
Wenn du OIDC-APIs direkt aufrufen möchtest, denke daran, den Header Content-Type: application/x-www-form-urlencoded
zu setzen.
Aktivierte OpenID-Funktionen
- 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 ist eine Reihe von APIs, die Logto-Daten verwalten und aktualisieren. Nur Benutzer mit der admin
Rolle haben Zugriff darauf.
Gehe zu API-Referenzen, um die Details zu sehen.
Um programmgesteuert auf die API zuzugreifen, siehe Interagiere mit Management API.
Experience API
Experience API ist eine Reihe von dedizierten Endpunkten, die benutzerdefinierte Anmeldeoberflächen-Interaktionen unterstützen.
Diese APIs ermöglichen es Entwicklern, Kernfunktionen der Authentifizierung zu implementieren, einschließlich Anmeldung, Registrierung, Passwortzurücksetzung, Verknüpfung von sozialen Konten und Multi-Faktor-Authentifizierung (MFA). Um diese Funktionen zu implementieren, muss deine benutzerdefinierte Benutzeroberfläche mit der Experience API interagieren.
Um die Benutzerflüsse und Implementierungsdetails besser zu verstehen:
- Siehe Entwickle deine benutzerdefinierte Benutzeroberfläche Anleitung, um zu lernen, wie man die Experience API verwendet, um deine benutzerdefinierte Erlebnis-Benutzeroberfläche zu erstellen
- Siehe Experience API-Referenzen für detaillierte API-Dokumentation
- Lies das Experience API Design RFC für tiefgehende technische Spezifikationen und Beispiele
Account API
Account API ist eine umfassende Reihe von APIs, die den Endbenutzern direkten API-Zugriff ohne die Notwendigkeit des Management API-Relais bietet, hier sind die Highlights:
- Direkter Zugriff: Die Account API ermöglicht es Endbenutzern, direkt auf ihr eigenes Konto zuzugreifen und es zu verwalten, ohne das Management API-Relay zu benötigen.
- Verwaltung von Benutzerprofilen und Identitäten: Benutzer können ihre Profile und Sicherheitseinstellungen vollständig verwalten, einschließlich der Möglichkeit, Identitätsinformationen wie E-Mail, Telefon und Passwort zu aktualisieren sowie soziale Verbindungen zu verwalten. MFA und SSO-Unterstützung kommen bald.
- Globale Zugangskontrolle: Der Administrator hat vollständige, globale Kontrolle über die Zugangseinstellungen und kann jedes Feld anpassen.
- Nahtlose Autorisierung: Die Autorisierung ist einfacher denn je! Verwende einfach
client.getAccessToken()
, um ein opakes Zugangstoken für OP (Logto) zu erhalten, und füge es dem Authorization-Header alsBearer <access_token>
hinzu.
Mit der Logto Account API kannst du ein benutzerdefiniertes Kontoverwaltungssystem wie eine Profilseite erstellen, die vollständig in Logto integriert ist.
Siehe Kontoeinstellungen durch Account API, um zu lernen, wie man die Account API nutzt, um deine eigenen Kontoeinstellungen zu erstellen.
Siehe Account API-Referenzen für detaillierte API-Dokumentation.
Frontend-Proxies
Ein Frontend-Proxy ist eine Middleware-Funktion, die ein Frontend-Projekt auf eine umgebungsbezogene Weise bereitstellt:
- Wenn es sich um Entwicklung handelt, leitet es HTTP-Anfragen an den Frontend-Entwicklungsserver weiter.
- Wenn es sich um Produktion handelt, werden statische Frontend-Dateien direkt bereitgestellt.
Logto hat drei Frontend-Proxies:
Name | Frontend-Paket | Mount-Pfad |
Admin-Konsole-Proxy | /packages/console | /console |
Demo-App-Proxy | /packages/demo-app | /demo-app |
UI (Anmeldeerfahrung) Proxy | /packages/ui | / |
Du wirst bemerken, dass der UI-Proxy den Stammverzeichnis-Pfad verwendet. Im Gegensatz zu anderen Proxies ist der UI-Proxy ein Fallback-Proxy, was bedeutet, dass er nur wirksam wird, wenn kein anderer Proxy übereinstimmt.