web-dev-qa-db-ja.com

セットアップ WP 外部APIからの認証

既存のWP以外のサイトがあり、ユーザーは自分の新しいWordpressサイトに、既に持っているのと同じ資格情報でログインできる必要があります。

私はエンドポイント(www.example-api.com/token)と、応答としてトークン(およびその他の詳細)を提示するログインクレジット(電子メールとパスワード)を提供されています。

私はOAuthについて読み続けてきましたが、私が得られるもののほとんどは、(WPサイトでの信用を使用した、WP以外のサイトへのログインなど)逆の問題からのリソースです。他のサイトにアクセスできない場合は、そこに設定する必要があると考えています。

カスタムプラグインを介してwp_authenticateをオーバーライドすることに遭遇しました。これはすでにセットアップされていますが、何をするのか、どうすればよいのかについても悩んでいます。

これについて何かガイドやブースト?

4
Suika

更新 これを説明するためのブログ記事を作成しました :)


私は新しいプラグインの中のWPのauthenticateフィルタによってこれを行うことができました。そのほとんどは このチュートリアル Ben Lobaughによって導かれています。プラグインの主なポイント:

  • CURLを使用してAPI呼び出し関数を作成します(まだ知らない場合は、テスト時にPostmanからガイドコードを入手できます)。
  • 呼び出しからの応答が、ユーザーが存在し、アクセス権を持っていると言っている場合は、フィルターチェックを追加します(私の場合はユーザーロールに基づきます)。
  • まだフィルタを使用して、WPサイトにユーザーが既にアカウントを持っているかどうかを確認します - そうでない場合は、wp_insert_userを使用してアカウントを作成します。説明のために、WPはデータベースに登録されたユーザーを必要とするため、APIで検証された電子メールとパスワードを使用しました。
  • ユーザーがWPデータベースにすでに存在する場合は、wp_update_userを使用して、それらの資格情報が同じであることを確認してください。これらは、WP以外の主要Webサイトで詳細を変更したときのようなものです。
  • 必要に応じて、プラグインの設定ページを追加してください。私の場合は、 このチュートリアル Bharat Pareekに従うことによって、Request URLのフィールドを作成しました。
4
Suika