Zum Hauptinhalt springen

Kernservice

Einführung

Der Kernservice ist ein monolithischer Dienst für kritische Logto-Aufgaben. Der Quellcode befindet sich in @logto/core.

hinweis

Kernservice und SDK-Kern sind zwei separate Konzepte. Siehe SDK-Konvention für die Unterschiede.

Zur Vereinfachung unterteilen wir den Kernservice in vier Hauptmodule:

NameBeschreibungMount-Pfad
OIDC-AnbieterEin OpenID-Anbieter./oidc
Logto APIManagement API, Experience API und Account API./api
Frontend-ProxiesHTTP-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.

info

Wenn du OIDC-APIs direkt aufrufen möchtest, denke daran, den Header Content-Type: application/x-www-form-urlencoded zu setzen.

Aktivierte OpenID-Funktionen

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:

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 als Bearer <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:

NameFrontend-PaketMount-Pfad
Admin-Konsole-Proxy/packages/console/console
Demo-App-Proxy/packages/demo-app/demo-app
UI (Anmeldeerfahrung) Proxy/packages/ui/
hinweis

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.