Aller au contenu principal

Service principal

Introduction

Le service principal est un service monolithique pour les tâches critiques de Logto. Le code source se trouve dans @logto/core.

remarque:

Le service principal et SDK core sont deux concepts distincts. Voir convention SDK pour les différences.

Pour simplifier, nous divisons le service principal en quatre modules majeurs :

NomDescriptionChemin de montage
Fournisseur OIDCUn fournisseur OpenID./oidc
Logto APIManagement API, Experience API et Account API./api
Proxies frontendProxies HTTP ou service de fichiers statiques pour les projets frontend.

Voir Proxies frontend pour les détails.

Les API backend, y compris OIDC, sont construites dans le package core, tandis que les proxies frontend dépendent des packages frères correspondants dans le monorepo Logto.

Fournisseur OIDC

Logto utilise la formidable implémentation certifiée OpenID Connect node-oidc-provider en arrière-plan. Le fournisseur est monté sur /oidc, et vous pouvez vérifier les configurations et fichiers relatifs dans packages/core/src/oidc.

Le point de terminaison Userinfo OIDC est disponible et monté sur /oidc/me.

info:

Si vous souhaitez appeler directement les API OIDC, n'oubliez pas de définir l'en-tête Content-Type: application/x-www-form-urlencoded.

Fonctionnalités OpenID activées

Logto API

Management API

Management API est un ensemble d'API qui gèrent et mettent à jour les données Logto. Seuls les utilisateurs avec le rôle admin y ont accès.

Dirigez-vous vers références API pour voir les détails.

Pour accéder à l'API de manière programmatique, voir Interagir avec Management API.

Experience API

Experience API est un ensemble de points de terminaison dédiés qui prennent en charge les interactions d'interface de connexion personnalisées.

Ces API permettent aux développeurs de mettre en œuvre des fonctionnalités d'authentification principales, y compris la connexion, l'inscription, la réinitialisation de mot de passe, la liaison de compte social et l'authentification multi-facteurs (MFA). Pour implémenter ces fonctionnalités, votre interface utilisateur personnalisée doit interagir avec Experience API.

Pour mieux comprendre les flux utilisateur et les détails de l'implémentation :

Account API

Account API est un ensemble complet d'API qui donne aux utilisateurs finaux un accès direct à l'API sans avoir besoin de passer par Management API, voici les points forts :

  • Accès direct : Account API permet aux utilisateurs finaux d'accéder directement et de gérer leur propre profil de compte sans nécessiter le relais de Management API.
  • Gestion des profils et identités utilisateur : Les utilisateurs peuvent gérer entièrement leurs profils et paramètres de sécurité, y compris la possibilité de mettre à jour les informations d'identité comme l'email, le téléphone et le mot de passe, ainsi que de gérer les connexions sociales. Le support MFA et SSO arrive bientôt.
  • Contrôle d'accès global : L'administrateur a un contrôle total et global sur les paramètres d'accès, peut personnaliser chaque champ.
  • Autorisation transparente : L'autorisation est plus facile que jamais ! Utilisez simplement client.getAccessToken() pour obtenir un jeton d’accès opaque pour OP (Logto), et attachez-le à l'en-tête Autorisation comme Bearer <access_token>.

Avec Logto Account API, vous pouvez construire un système de gestion de compte personnalisé comme une page de profil entièrement intégrée à Logto.

Consultez Paramètres de compte par Account API pour apprendre comment tirer parti de Account API pour construire votre propre page de paramètres de compte.

Référez-vous aux références Account API pour une documentation API détaillée.

Proxies frontend

Un proxy frontend est une fonction middleware qui sert un projet frontend de manière liée à l'environnement :

  • Si c'est en développement, il proxy les requêtes HTTP vers le serveur de développement frontend.
  • Si c'est en production, il sert directement les fichiers frontend statiques.

Logto a trois proxies frontend :

NomPackage FrontendChemin de montage
Proxy de la console d'administration/packages/console/console
Proxy de l'application de démonstration/packages/demo-app/demo-app
Proxy UI (expérience de connexion)/packages/ui/
remarque:

Vous remarquerez peut-être que le proxy UI utilise le chemin racine. Contrairement aux autres proxies, le proxy UI est un proxy de secours, ce qui signifie qu'il ne prend effet que lorsqu'aucun autre proxy n'est correspondant.