ページにベーシック認証をかける
mkdocsのページに認証機能を追加する方法はいくつか考えられます。
netlifyやVercelなどのホスティングサービスの機能を使うdjangoやflaskなどのwebフレームワークにmkdocsを組み込み、認証機能を追加する- mkdocsのプラグインを使う
ホスティングサービスの機能を使う方法は、ホスティングサービスによっては有料プランが必要になることがあります。また、フレームワークにmkdocsを組み込む方法は、mkdocsの更新に追従するために手間がかかることがあります。
筆者はとにかく手軽にマークダウンを書くだけでいいということでmkdocsを使っているので、プラグインを使う方法を選択しました。
mkdocsのプラグインを使う
色々調べた結果、mkdocs-encryptcontent-pluginというプラグインでベーシック認証をかけることができることがわかりました。
mkdocs-encryptcontent-pluginのインストール
まずは、mkdocs-encryptcontent-pluginをインストールします。
| bash | |
|---|---|
1 | |
mkdocs.ymlの設定
mkdocs-encryptcontent-pluginは、mkdocs.ymlに設定を追加することでベーシック認証をかけることができます。
基本的な設定を以下に示します。
| mkdocs.yml | |
|---|---|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | |
ページにベーシック認証をかける
ベーシック認証をかけたいページには、以下のように設定します。
| docs/mkdocs/page-besic-auth.md | |
|---|---|
1 2 3 4 5 6 7 8 | |
levelには、mkdocs.ymlで設定したpassword_inventoryのキーを指定します。
まとめ
mkdocs-encryptcontent-pluginを使うことで、簡単にmkdocsのページにベーシック認証をかけることができます。
他にも、認証情報を外部ファイルに保存する方法や、認証情報を環境変数に保存する方法もあるので、必要に応じて調べてみてください。