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
.
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 :
Nom | Description | Chemin de montage |
Fournisseur OIDC | Un fournisseur OpenID. | /oidc |
Logto API | Management API, Experience API et Account API. | /api |
Proxies frontend | Proxies 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
.
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
- 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 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 :
- Consultez le guide Développez votre interface utilisateur personnalisée pour apprendre à utiliser Experience API pour construire votre interface utilisateur d'expérience personnalisée
- Référez-vous aux références Experience API pour une documentation API détaillée
- Lisez le RFC de conception Experience API pour des spécifications techniques approfondies et des exemples
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 commeBearer <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 :
Nom | Package Frontend | Chemin 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 | / |
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.