パーソナライゼーション機能
APIキーの自動入力
動的MDXコンテンツ
user
変数を使って、名前、プラン、組織などのユーザー情報に基づく動的コンテンツを表示します。
ページの表示制御
groups
フィールドを追加して、ユーザーごとに表示されるページを制限できます。デフォルトでは、すべてのページがすべてのユーザーに表示されます。
ユーザーには、自分が所属する groups
に該当するページのみが表示されます。
ユーザーデータ形式
セッションの有効期限(UNIXエポックからの秒数)。この時刻を過ぎてページを読み込んだ場合、保存されたデータは自動的に削除され、再認証が必要になります。
JWTハンドシェイクの場合: これはJWTの
exp
クレームとは異なり、exp
はJWTが無効と見なされる時刻を決定します。セキュリティのため、JWTの exp
クレームは短い期間(10秒以下)に設定してください。実際のセッションの長さ(数時間〜数週間)には expiresAt
を使用します。ユーザーが所属するグループの一覧。フロントマターの
groups
が一致するページは、このユーザーに表示されます。例: groups: ["admin", "engineering"]
を持つユーザーは、admin
または engineering
グループでタグ付けされたページにアクセスできます。user
変数を介して MDX
コンテンツ内で参照できるカスタムデータ。ドキュメント全体での動的なパーソナライゼーションに使用します。基本例:MDX
での使用例:user
データ例では、次のように表示されます: Welcome back, Ronan! Your Enterprise plan includes…高度な条件付きレンダリング:user
内の情報は、ログイン中のユーザーにのみ利用可能です。ログアウト中のユーザーでは user
の値は {}
です。ログアウト中のユーザーでページがクラッシュするのを防ぐため、user
の各フィールドには常にオプショナルチェイニングを使用してください。例: {user.org?.plan}
。APIプレイグラウンドのフィールドに事前入力される、ユーザー固有の値。APIをテストする際にユーザーのデータを自動入力し、作業時間を短縮します。例:ユーザーが特定のサブドメインでリクエストを行う場合は、
apiPlaygroundInputs
フィールドとして { server: { subdomain: 'foo' } }
を送信できます。この値は、subdomain
を使用する任意のAPIページで事前入力されます。header
、query
、cookie
の各フィールドは、あなたの OpenAPI security scheme の一部である場合にのみ事前入力されます。フィールドが Authorization
または Server
セクションに含まれていれば事前入力されます。Authorization
という名前の標準ヘッダーパラメータを作成しても、この機能は有効になりません。ユーザー データの例
パーソナライゼーションの設定
前提条件
- JWT を生成して署名できるログインシステム
- リダイレクト URL を作成できるバックエンドサービス
実装
1
秘密鍵を生成する
- ダッシュボードで Authentication に移動します。
- Personalization を選択します。
- JWT を選択します。
- 既存のログインフローの URL を入力し、Save changes を選択します。
- Generate new key を選択します。
- バックエンドからアクセス可能な安全な場所にキーを保管します。
2
Mintlify のパーソナライゼーションをログインフローに統合する
既存のログインフローに、ユーザーのログイン後に次の手順を追加します:
- ログイン中のユーザー情報を
User
形式で含む JWT を作成します。詳細は上記の User data format セクションを参照してください。 - ES256 アルゴリズムを使用して、その秘密鍵で JWT に署名します。
- JWT をハッシュとして含め、ドキュメントに戻るリダイレクト URL を作成します。
例
あなたのドキュメントはdocs.foo.com
でホストされています。ドキュメントをダッシュボードとは分離したい(またはダッシュボードがない)場合に、パーソナライゼーションを有効にします。JWT シークレットを生成します。次に、https://foo.com/docs-login
にログインエンドポイントを作成し、ドキュメント向けのログインフローを開始します。ユーザーの認証情報を検証した後:- Mintlify の形式でユーザーデータを含む JWT を生成します。
- JWT に署名し、
https://docs.foo.com#{SIGNED_JWT}
にリダイレクトします。
ページアンカーの保持
ログイン後に特定のセクションへユーザーをリダイレクトするには、次の URL 形式を使用します:https://docs.foo.com/page#jwt={SIGNED_JWT}&anchor={ANCHOR}
。例:- 元の URL:
https://docs.foo.com/quickstart#step-one
- リダイレクト先の URL:
https://docs.foo.com/quickstart#jwt={SIGNED_JWT}&anchor=step-one