この質問のいくつかの部分が明らかに思えば申し訳ありませんが、私はWordPressの初心者であり、手動で(ソーシャルログインプラグインを使用せずに)oAuthワークフローを利用するのは初めてです。
組織のすべてのサイト/アプリに集中認証を提供するこのoAuth2サーバーがあります(X-Orgと呼びましょう)。私がやりたいことは、私のWoocommerce顧客がX-Orgサーバーを介してログイン/登録し、チェックアウトのためにWooに戻ってくることを許可することです。手続きとして考えているのは、
wp_users
テーブルに存在するかどうかを確認してください。いいえの場合、ユーザーを作成してからログインユーザー(wp_signon)を作成します。私が知りたいのは、
まず第一に、私が上に挙げたものは正しい道ですか?そして論理的?
B- for 1,2私はPHP cURL libを使うことを考えています。 WordpressのコアAPIを介して他のオプションはありますか?
C - 私はdbにリフレッシュ/アクセストークンを保存する必要があるかどうかわからないですか?
JWTを使用すると、認証方法としてJSON Web Tokens Authenticationを使用してWP REST APIを拡張できます。
WordPress REST API認証:デフォルトのCookie認証:Cookie認証は、WordPress内でネイティブに使用できる唯一の認証メカニズムです。 。
リモートアプリケーション:
リモートアプリケーションをサポートするには、プラグインを使用して新しいREST API認証方法を追加する必要があります。
現在サポートされているオプションはBasic Auth、OAuth、およびJWTです。
ユーザー名とパスワードを使用した基本認証は安全ではないと見なされ、開発シナリオでのみ使用されるべきです。
OAuthは素晴らしいですが、認証するのは面倒です
JWTは素晴らしく、フロントエンドフレームワークとうまく連携します。
ユーザーサインイン([ユーザー名/パスワード])=>認証サーバー=>ユーザー認証済み、JWT作成済み、USERに戻る
USER(ユーザーがAPI呼び出し時に[JWT]を渡します)=>アプリケーションサーバー=>アプリケーションがAPI呼び出しを検証して処理します=>データ/メッセージをUSERに送信します
ユーザーはまず、認証サーバーのログインシステム(ユーザー名とパスワード、Facebookログイン、Googleログイン、Twitterなど)を使用して認証サーバーにサインインします。その後、認証サーバーはJWTを作成してそれをユーザーに送信します。ユーザーがアプリケーションに対してAPI呼び出しを行うと、ユーザーはAPI呼び出しと共にJWTを渡します。この設定では、着信JWTが認証サーバーによって作成されたことを確認するようにアプリケーションサーバーが設定されます。
ユーザーが接続されたJWTでAPI呼び出しを行うと、アプリケーションはJWTを使用して、API呼び出しが認証されたユーザーからのものであることを確認できます。
認証プラグイン:リモートアプリケーションから機能する認証。
認証用のプラグイン:
OAuth 1.0aサーバー:パスワードを漏らさずにアプリケーションをWordPressサイトに接続します。
このプラグインはWordPress> = 4.4のみをサポートしています。
アプリケーションパスワード: - ユーザーのパスワードを直接入力せずにユーザーを認証します。代わりに、ユーザー名のbase64エンコード文字列と新しいアプリケーションパスワードを使用します。
JSON Webトークン - 認証方法としてJSON Webトークン認証を使用してWP REST APIを拡張します。
WPユーザー:認証方法としてJSON Webトークン(JWT)認証を使用してWP REST APIを拡張します。
WP Userプラグインを使用すると、Webサイトでフロントエンドのログインおよび登録フォームを作成できます。また、セキュリティを強化したWP REST APIのJWTトークンを作成できます。 IPアドレスなどのブラックリスト/ホワイトリストなどの機能。
ユーザーのログインや登録、そして通常のWordPressログインページを避けたい、このプラグインはAJAXのようなスムーズな効果でログイン、登録、パスワード忘れを配置する機能を追加しますREST API.