公式(4.7+)REST APIについては、公式のnode-wpapi javascriptクライアントライブラリを参照しています。ここでのドキュメント: http://wp-api.org/node-wpapi/authentication/#cookie-authentication
Cookie Authentication の段落を読んでいますが、この状況にはありません。
私はシングルページアプリケーションを構築しようとしているので、REST APIを使用してユーザーを登録/ログイン/ログアウトする必要があります。 node-wpapiを使う必要はありません。他のライブラリを使ってAPIエンドポイントを呼び出すこともできます。
しかし、私の問題は、ユーザーをログインさせるために何を呼び出す必要があるのか、ユーザーがログインする必要がある他のAPI呼び出しを処理するために何を保存する必要があるのか理解できないことです。
私はそれをチェックアウトしてくれてありがとう、node-wpapi
ライブラリの作者です。残念ながら、WordPress自体はcookie/nonceオプション(あなたが説明したように外部アプリケーションでは動作しない)以外の認証スキームを同梱していないため、現時点では外部認証スキームをサポートしていません。
JWTとOAuth 1.0aを使用してAPIリクエストを認証するためのプラグインがあり、これらのメソッドの処理はカスタムトランスポートメソッドと先週の1.1リリースのnode-apiで導入した新しい.setHeaders()
関数を使用してnode-wpapi
に対して実行できます。
しかし、あなたが説明していることは、これらのアプローチによって解決されるもののようには思えません。具体的には、REST API認証は、WordPressサイトに対して単一の要求を認証する方法です。つまり、「要求しているリソースを表示または編集する権利があります」と言います。 REST APIはWordPressにログインするためのメカニズムを提供していません。これは既存のWordPressログインフォームを使用して処理されるべきです。
あなたのSPAがプラグインで動くように設計されているならば、私はログイン時にだけ見ることができるページを作るためにそれをセットアップすることを勧めます - そしてあなたのユーザーがアプリを開こうとするとき彼らはWordPressの既存のログインページに導かれるあなたのアプリに。ログインすると、単一ページのアプリケーションはAPIリクエストにcookie/nonce認証を使用できます。例として、 https://github.com/kadamwhite/wp-notebook にあるプロジェクトを参照してください。
これが役立つことを願っています、そしてREST APIを使用してくれてありがとう!