JWT(JSON Web Token)を使う方法もあるけど、JWTに対応するためのJWT Authentication for WP REST APIのDescriptionが.htaccessを使用したApacheの設定方法しか書かれていなかったので、Nginxを利用している私はユーザ認証で利用することにした。
Application Passwordsプラグインをインストール
WordPress管理画面メニュー > プラグイン > 新規追加 からユーザにアプリケーションごとのパスワードを発行することができるApplication Passwordsというプラグインを検索してインストールする。
Application Passwordsで発行されたアプリケーションパスワードは、REST APIやXML-RPCなどのAPIリクエストの認証のみに使用でき、通常のサイトログインはできないため、漏洩したときの被害を限定することができる。
また、パスワードが不要になればアプリケーションごとに即座に削除できる。
WordPressのユーザにアプリケーションパスワードを生成する
WordPress管理画面メニュー > ユーザ > ユーザ一覧 > 編集 を開き、最下部に追加されているApplication Passwords というセクションの入力欄に、アプリケーションの名前(Boostnoteなど)を入れてAdd Newする。
※導入しているプラグインの構成によっては
Application Passwordsのセクションが最下部ではないこともあります。
すると4桁ごとに区切られたパスワードが表示されるのでこれをコピーしておく。
このパスワードは1度しか表示できないため、もしコピーに失敗するとRevokeして再度追加するはめになる。
BoostnoteのBlog投稿がうまくいくまで表示し続けることをおすすめする。
Boostnoteのブログ投稿設定
Boostnoteの設定メニュー(MacならCmd + ,)を開く。
| ディレクティブ | 設定値 |
|---|---|
| ブログの種類 | wordpress |
| ブログのアドレス | https://[自分のブログのドメイン]/wp-json |
| 認証方法 | ユーザ |
| パスワード | 先ほど発行した4桁ごとに区切られたパスワードをコピペ |
を設定して保存する。
投稿確認
Boostnoteを3ペインにしているのであれば、真ん中の記事タイトルが表示されている箇所を右クリックして、ブログを公開を選択するとWordpressに記事を公開してくれる。
成功すると以下のようなポップアップが表示されるので、Open Blogで投稿されたブログを開くことができるし、確認ボタンで閉じることができる。
ちなみにMarkdownを解釈するプラグインが入っていなくても、きちんとHTMLに置き換えられたコードが転送されているように思えた。

