Personalisierungsfunktionen
Vorausfüllen von API-Schlüsseln
Dynamischer MDX-Inhalt
user
an.
Seitensichtbarkeit
groups
-Felder zur Frontmatter deiner Seiten hinzufügst. Standardmäßig ist jede Seite für jeden Nutzer sichtbar.
Nutzer sehen nur Seiten der groups
, denen sie angehören.
Benutzerdatenformat
Ablaufzeit der Sitzung in Sekunden seit der Unix-Epoche. Wenn der Nutzer eine Seite nach diesem Zeitpunkt lädt, werden seine gespeicherten Daten automatisch gelöscht und er muss sich erneut authentifizieren.
Für JWT-Handshakes: Dies unterscheidet sich vom
exp
-Claim des JWT, der festlegt, wann ein JWT als ungültig gilt. Setzen Sie den exp
-Claim des JWT aus Sicherheitsgründen auf eine kurze Dauer (10 Sekunden oder weniger). Verwenden Sie expiresAt
für die tatsächliche Sitzungsdauer (Stunden bis Wochen).Liste der Gruppen, denen der Nutzer angehört. Seiten mit passenden
groups
im Frontmatter sind für diesen Nutzer sichtbar.Beispiel: Ein Nutzer mit groups: ["admin", "engineering"]
kann auf Seiten zugreifen, die entweder mit der Gruppe admin
oder engineering
gekennzeichnet sind.Benutzerdefinierte Daten, die in Ihrem Verwendung in Mit den Beispiel-
MDX
-Inhalt über die Variable user
verfügbar sind. Nutzen Sie dies für dynamische Personalisierung in Ihrer gesamten Dokumentation.Einfaches Beispiel:MDX
:user
-Daten würde dies so gerendert: Welcome back, Ronan! Your Enterprise plan includes…Erweitertes bedingtes Rendering:Die Informationen in
user
sind nur für angemeldete Nutzer verfügbar. Für abgemeldete Nutzer hat user
den Wert {}
. Um zu verhindern, dass die Seite für abgemeldete Nutzer abstürzt, verwenden Sie immer Optional Chaining bei Ihren user
-Feldern, z. B. {user.org?.plan}
.Nutzerspezifische Werte, die Felder der API-Spielwiese vorab ausfüllen. Spart Zeit, indem beim Testen von APIs Daten automatisch übernommen werden.Beispiel:Wenn ein Nutzer Anfragen über eine bestimmte Subdomain stellt, können Sie
{ server: { subdomain: 'foo' } }
als Feld apiPlaygroundInputs
senden. Dieser Wert wird auf jeder API-Seite mit dem subdomain
-Wert vorab ausgefüllt.Die Felder
header
, query
und cookie
werden nur vorab ausgefüllt, wenn sie Teil Ihres OpenAPI-Sicherheitsmodells sind. Befindet sich ein Feld in den Abschnitten Authorization
oder Server
, wird es vorab ausgefüllt. Das Erstellen eines Standard-Header-Parameters namens Authorization
aktiviert diese Funktion nicht.Beispielnutzerdaten
Personalisierung konfigurieren
Voraussetzungen
- Ein Login-System, das JWTs erzeugen und signieren kann
- Ein Backend-Service, der Redirect-URLs erstellen kann
Implementierung
1
Privaten Schlüssel erzeugen.
- Gehen Sie in Ihrem Dashboard zu Authentication.
- Wählen Sie Personalization.
- Wählen Sie JWT.
- Geben Sie die URL Ihres bestehenden Login-Flows ein und wählen Sie Save changes.
- Wählen Sie Generate new key.
- Speichern Sie Ihren Schlüssel sicher an einem Ort, auf den Ihr Backend zugreifen kann.
2
Mintlify-Personalisierung in Ihren Login-Flow integrieren.
Passen Sie Ihren bestehenden Login-Flow an und fügen Sie nach dem Login diese Schritte hinzu:
- Erstellen Sie ein JWT mit den Informationen des angemeldeten Benutzers im
User
-Format. Weitere Informationen finden Sie im Abschnitt User data format oben. - Signieren Sie das JWT mit dem Secret Key unter Verwendung des ES256-Algorithmus.
- Erstellen Sie eine Redirect-URL zurück zu Ihren Docs und fügen Sie das JWT als Hash an.
Beispiel
Ihre Dokumentation wird unterdocs.foo.com
gehostet. Sie möchten Ihre Docs vom Dashboard trennen (oder haben kein Dashboard) und die Personalisierung aktivieren.Erzeugen Sie ein JWT-Secret. Erstellen Sie anschließend einen Login-Endpunkt unter https://foo.com/docs-login
, der einen Login-Flow zu Ihrer Dokumentation startet.Nach der Verifizierung der Benutzeranmeldedaten:- Erzeugen Sie ein JWT mit Benutzerdaten im Mintlify-Format.
- Signieren Sie das JWT und leiten Sie weiter zu
https://docs.foo.com#{SIGNED_JWT}
.
Seitenanker beibehalten
Um Benutzer nach dem Login zu bestimmten Abschnitten weiterzuleiten, verwenden Sie dieses URL-Format:https://docs.foo.com/page#jwt={SIGNED_JWT}&anchor={ANCHOR}
.Beispiel:- Ursprüngliche URL:
https://docs.foo.com/quickstart#step-one
- Weiterleitungs-URL:
https://docs.foo.com/quickstart#jwt={SIGNED_JWT}&anchor=step-one