Fonctionnalités de personnalisation
Préremplissage de la clé API
Contenu MDX dynamique
user
.
Visibilité des pages
groups
au frontmatter de vos pages. Par défaut, chaque page est visible par tous les utilisateurs.
Les utilisateurs ne verront que les pages dont les groups
correspondent à ceux auxquels ils appartiennent.
Format des données utilisateur
Heure d’expiration de session en secondes depuis l’epoch. Si l’utilisateur charge une page après cette heure, ses données stockées sont automatiquement supprimées et il doit se réauthentifier.
Pour les handshakes JWT : Ceci diffère de la revendication
exp
du JWT, qui détermine quand un JWT est considéré invalide. Définissez la revendication exp
du JWT sur une courte durée (10 secondes ou moins) pour des raisons de sécurité. Utilisez expiresAt
pour la durée réelle de la session (de quelques heures à plusieurs semaines).Liste des groupes auxquels l’utilisateur appartient. Les pages dont le frontmatter contient des
groups
correspondants sont visibles pour cet utilisateur.Exemple : Un utilisateur avec groups: ["admin", "engineering"]
peut accéder aux pages étiquetées avec les groupes admin
ou engineering
.Données personnalisées accessibles dans votre contenu Utilisation dans Avec les données
MDX
via la variable user
. Utilisez-les pour une personnalisation dynamique dans toute votre documentation.Exemple simple :MDX
:user
de l’exemple, le rendu serait : Welcome back, Ronan! Your Enterprise plan includes…Rendu conditionnel avancé :Les informations dans
user
ne sont disponibles que pour les utilisateurs connectés. Pour les utilisateurs déconnectés, la valeur de user
sera {}
. Pour éviter que la page ne plante pour les utilisateurs déconnectés, utilisez toujours l’enchaînement optionnel sur vos champs user
. Par exemple, {user.org?.plan}
.Valeurs propres à l’utilisateur qui préremplissent les champs du Bac à sable API. Elles font gagner du temps en remplissant automatiquement ses données lors des tests d’API.Exemple :Si un utilisateur effectue des requêtes sur un sous-domaine spécifique, vous pouvez envoyer
{ server: { subdomain: 'foo' } }
comme champ apiPlaygroundInputs
. Cette valeur sera préremplie sur toute page API utilisant la valeur subdomain
.Les champs
header
, query
et cookie
ne seront préremplis que s’ils font partie de votre schéma de sécurité OpenAPI. Si un champ se trouve dans les sections Authorization
ou Server
, il sera prérempli. Créer un paramètre d’en-tête standard nommé Authorization
n’activera pas cette fonctionnalité.Exemple de données utilisateur
Configuration de la personnalisation
Prérequis
- Un système d’authentification capable de générer et de signer des JWT
- Un service backend capable de créer des URL de redirection
Implémentation
1
Générez une clé privée.
- Dans votre tableau de bord, accédez à Authentication.
- Sélectionnez Personnalisation.
- Sélectionnez JWT.
- Saisissez l’URL de votre flux de connexion existant et sélectionnez Save changes.
- Sélectionnez Generate new key.
- Stockez votre clé de manière sécurisée afin qu’elle soit accessible par votre backend.
2
Intégrez la personnalisation Mintlify dans votre flux de connexion.
Modifiez votre flux de connexion existant pour inclure ces étapes après la connexion de l’utilisateur :
- Créez un JWT contenant les informations de l’utilisateur connecté au format
User
. Voir la section User data format ci-dessus pour plus d’informations. - Signez le JWT avec la clé secrète, en utilisant l’algorithme ES256.
- Créez une URL de redirection vers votre documentation, en incluant le JWT comme fragment.
Exemple
Votre documentation est hébergée surdocs.foo.com
. Vous souhaitez que votre documentation soit séparée de votre tableau de bord (ou vous n’avez pas de tableau de bord) et activer la personnalisation.Générez un secret JWT. Puis créez un endpoint de connexion à https://foo.com/docs-login
qui initie un flux de connexion vers votre documentation.Après vérification des identifiants de l’utilisateur :- Générez un JWT avec les données utilisateur au format Mintlify.
- Signez le JWT et redirigez vers
https://docs.foo.com#{SIGNED_JWT}
.
Préserver les ancres de page
Pour rediriger les utilisateurs vers des sections spécifiques après la connexion, utilisez ce format d’URL :https://docs.foo.com/page#jwt={SIGNED_JWT}&anchor={ANCHOR}
.Exemple :- URL d’origine :
https://docs.foo.com/quickstart#step-one
- URL de redirection :
https://docs.foo.com/quickstart#jwt={SIGNED_JWT}&anchor=step-one