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に置き換えられたコードが転送されているように思えた。