の検索結果 :

×

登録する お問い合わせ

サードパーティプロバイダーを使用した WordPress REST API 認証

サードパーティプロバイダー方式を使用した WordPress REST API 認証には、Google、Facebook、Firebase、Apple、Azure AD、Keycloak、Okta、AWS Cognito などのサードパーティプロバイダーから受け取ったトークン (アクセストークン/id-トークン/jwt トークン) の使用が含まれます。 、WordPress REST API に安全にアクセスするための Github、Slack、Gitlab など。
WordPress エンドポイントはデフォルトでは安全ではなく、JSON 形式の REST API を介してデータが盗まれる可能性があります。WordPress REST API 認証を使用すると、Basic Auth、API KEY、JWT トークン、OAuth トークンなどの複数のセキュリティ メソッドを使用して REST API を呼び出すことができます。このガイドでは、OAuth/OpenID Connect/Firebase プロバイダーによって発行された OAuth トークンを使用して、WordPress ウェブサイトを保護して安全に保つ REST API リクエストを検証します。REST API へのアクセス要求が行われるたびに、Google、Facebook、Firebase、Apple、okta などのサードパーティ プロバイダーによって発行されたトークンに対して認証が行われ、API トークンの検証に基づいて、その REST API 要求のリソースへのアクセスが許可されます。したがって、SSO ログイン後にアプリで取得した単一のトークンは、WP REST API エンドポイントへのアクセスにさらに使用できます。



WordPress REST API 認証

WordPress REST API 認証プラグインは、WordPress REST API への不正アクセスからセキュリティを提供します。このプラグインは、基本認証、API キー認証、OAuth 2.0 認証、JWT 認証など、複数の認証方法を提供します。

詳細を見る   

  • WordPress インスタンスに管理者としてログインします。
  • WordPress に移動します ダッシュボード -> プラグイン をクリックします。入力したコードが正しければ、MFAの設定は正常に完了します 新規追加.
  • WordPress を検索する RESTAPI認証 プラグインを選択してクリックします 今すぐインストール.
  • インストールしたら、をクリックします アクティブにしましょう.


  • Android/iOS モバイル アプリケーションがあり、ユーザーが Google、Facebook、Apple、Linkedin、Instagram などの複数のソーシャル ログイン プロバイダーや、AWS Cognito、Auth0、Microsoft Azure、Okta、Keycloak、Firebase などのその他の OAuth/OpenID Connect プロバイダーを使用してログインできるようにしているとします。また、ユーザーがモバイル アプリケーションから WordPress REST API エンドポイントにアクセスできるようにしたいとします。この場合、アプリケーションへのログインにシングル サインオン (SSO) を使用するときに、OAuth/OpenID Connect アイデンティティ プロバイダー (サーバー) から取得したアクセス/ID トークン (JWT トークン) に基づいて、WordPress REST API エンドポイント アクセスの認証を実行できます。そのため、アクセス/ID トークン/JWT は、トークン タイプが Bearer として API 要求の Authorization ヘッダーで渡され、そのトークンの検証は、対応する OAuth/OpenId Connect/Firebase アイデンティティ プロバイダーを通じて直接行われます。そのため、検証要求は、対応する OAuth/OpenID Connect サーバーに対して内部的に行われます。そのトークンの検証が成功すると、REST API リクエストによってリソース/データへのアクセスが実行され、検証に失敗するとエラー応答が返されます。このようにして、OAuth/OpenID Connect Identity プロバイダーからの直接認証によって、リソース/データを最高レベルのセキュリティで保護できます。

  • サードパーティのキー方式を使用した WordPress REST API 認証
  • この認証のユースケースをプラグインでどのように実現できるか:
    • 1. WordPress REST API エンドポイント リクエストは、トークン タイプが Bearer である Authorization ヘッダーで渡された OAuth/OpenID Connect Identity プロバイダーから取得されたアクセス/ID トークンを使用して行われます。

      2. WordPress REST API リクエストはプラグインによって監視され、JWT トークンの検証/認証リクエストが OAuth/OpenID Connect Identity プロバイダー (サーバー) に送信されます。

      3. JWT トークンを検証するために以前に行われたリクエストに対して、OAuth/OpenID Connect Identity プロバイダー (サーバー) から応答が返されます。

      4. JWT トークンの検証/認証が成功すると、要求されたリソースへのアクセスが許可されます。つまり、要求者はリソース/データへのアクセスを許可されます。トークンの検証に失敗した場合は、エラー応答が返されます。そのため、リソース データは保護され、許可時にアクセスできるようになり、セキュリティの問題は発生しません。


関連するユースケース:

  • WordPress REST API エンドポイントがソーシャル ログインまたは OAuth2.0/OpenID Connect アイデンティティ プロバイダーによって提供される JWT トークンを使用するのを防ぐ方法を教えてください。
  • OAuth/OpenID SSO ログイン フロー中にソーシャル ログイン/OAuth プロバイダーによって提供されるアクセス/ID トークンに基づいて、認証を実行してセキュリティを確保したり、WordPress REST API エンドポイントへのアクセスを許可するための承認を実行したりするにはどうすればよいですか?




  • あなたの選択します。 認証方法 → サードパーティプロバイダー と追加 イントロスペクションエンドポイント OAuth/OpenID Connect プロバイダーによって提供されるをクリックします。 構成の保存.
  • サードパーティのキー方式を使用した WordPress REST API 認証
  • プロバイダーから提供されたイントロスペクション エンドポイントを使用してプラグインを構成したら、以下に示すように、OAuth プロバイダーから提供されたアクセス トークン/id_token を使用して WordPress REST API にアクセスしてみます。
  • Request: GET https://<domain-name>/wp-json/wp/v2/posts
    Header: 
    access_token : < access_token >
    OR
    id_token  : < id_token  >
    -H 'app-name:TheAppName'
    
  • チェックアウトします 開発者のドキュメント のガイドをご参照ください。

 
var client = new RestClient("http://<wp_base_url>/wp-json/wp/v2/posts ");
client.Timeout = -1;
var request = new RestRequest(Method.GET);
request.AddHeader("Authorization", "< access_token > OR id_token <id_token>");
request.AddHeader = ("app-name", "TheAppName");
IRestResponse response = client.Execute(request);
Console.WriteLine(response.Content);
 
OkHttpClient client  = new OkHttpClient().newBuilder().build();
MediaType mediaType  = MediaType.parse("text/plain");
RequestBody body = RequestBody.create(mediaType, "");
Request request  = new Request.Builder()
.url("http://<wp_base_url>/wp-json/wp/v2/posts ")
.method("GET", null)
 .addHeader = ("Authorization", "< access_token > OR id_token <id_token>")
.addHeader = ("app-name", "TheAppName");
 .build();
Response responseclient.newCall(request).execute();
 
var settings  = {
"url": "http://<wp_base_url>/wp-json/wp/v2/posts ",
"method": "GET",
"timeout": 0,
"headers": {
"Authorization": "< access_token > OR id_token <id_token>"
"app-name": "TheAppName"
},        
};

$.ajax(settings).done(function (response)  {
console.log(response);
});
 
<?php
 $curl = curl_init();
curl_setopt_array($curl, array 
(  
CURLOPT_URL => 'http://%3Cwp_base_url%3E/wp-json/wp/v2/posts%20',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_HTTPHEADER => array(
'Authorization: < access_token > OR id_token <id_token>'
'app-name: TheAppName'
),

));          

$response = curl_exec($curl);
curl_close($curl);    
echo $response;
 
import http.client

conn   = http.client.HTTPSConnection("<wp_base_url>")
payload= "
headers = {
'Authorization': '< access_token > OR id_token <id_token>'
'app-name': 'TheAppName',
}
conn.request("GET", "/wp-json/wp/v2/posts ", payload, headers)
res= conn.getresponse()    
data = res.read()    
print (data.decode("utf-8"))   

    Postman を使用して REST API リクエストを作成するには、次の手順に従います。

  • Postman リクエスト形式のサンプルは、以下からダウンロードできます。 こちら.
  • ダウンロードした zip ファイルを抽出し、抽出した json ファイルを Postman アプリケーションにインポートします。
  • サードパーティ方式のポストマン実装を使用した WordPress REST API 認証
  • 置き換える <アクセストークン> or < id_token > OAuth 2.0 プロバイダーから提供されたそれぞれのトークンを使用します。
  • 置き換える <アプリ名> それぞれの AppName に置き換えます。
  • サブスクリプション型フィットネスアプリでは、
  • サードパーティのメソッドを使用した WordPress REST API 認証 postman replace URL 実際のリソース

1. ロールベースの REST API の制限:


この機能を使用すると、ユーザー ロールに基づいて REST API アクセスを制限できます。REST API の要求されたリソースへのアクセスを許可するロールをホワイトリストに登録できます。そのため、ユーザーが REST API 要求を行うたびに、そのロールが取得され、そのロールがホワイトリストに登録されている場合にのみリソースへのアクセスが許可されます。


それを構成する方法は?

  • まず、プラグインの「詳細設定」タブに移動します。
  • 次に、「ロールベースの制限」セクションでは、デフォルトですべてのロールに API へのアクセスが許可されます。アクセスを制限するロールのチェックボックスを有効にすることができます。
  • WordPress REST API Basic認証方式ポストマン実装
  • 上記のスクリーンショットでは、サブスクライバー ロールのチェックボックスが有効になっています。そのため、サブスクライバー ロールを持つユーザーが API リクエストを行うと、そのユーザーは要求されたリソースにアクセスできなくなります。

Note: ロールベースの制限機能は、Basic 認証 (ユーザー名: パスワード)、JWT 方式、および OAuth 2.0 (パスワード付与) に有効です。


2. カスタムヘッダー


この機能では、デフォルトの「Authorization」ヘッダーではなくカスタム ヘッダーを選択するオプションが提供されます。

ヘッダーに「カスタム名」の名前を付けるとセキュリティが強化され、誰かが「Authorization」というヘッダーを使用して REST API リクエストを行った場合、そのユーザーは API にアクセスできなくなります。


それを構成する方法は?

  • まず、プラグインの「詳細設定」タブに移動します。
  • 次に、「カスタムヘッダー」セクションで、テキストボックスを編集して、必要なカスタム名を入力できます。
  • WordPress REST API Basic認証方式ポストマン実装

3. REST APIを除外する


この機能を使用すると、REST API をホワイトリストに登録して、認証なしで直接アクセスできるようになります。したがって、ホワイトリストに登録されたすべての REST API は公開されます。


それを構成する方法は?

  • まず、プラグインの「詳細設定」タブに移動します。
  • 次に、「REST API を除外」で、パブリック アクセス用にホワイトリストに登録する必要がある規定の形式で API を入力できます。
  • WordPress REST API Basic認証方式ポストマン実装
  • 例: REST API を除外したいとします。「/wp-json/wp/v2/posts」の場合は、テキストボックスに「/wp/v2/posts」と入力する必要があります。

4. カスタムトークンの有効期限


この機能は、時間ベースのトークンを使用して WordPress REST API エンドポイントを認証する JWT および OAuth 2.0 メソッドに適用できます。この機能を使用すると、トークンの有効期限をカスタム設定して、トークンの有効期限が切れるとトークンが無効になるようにすることができます。


それを構成する方法は?

  • まず、プラグインの「詳細設定」タブに移動します。
  • 次に、「トークン有効期限設定」セクションで、アクセス トークンの有効期間とリフレッシュ トークン (OAuth 2.0 メソッドで使用) を変更できます。デフォルトでは、アクセス トークンの有効期限は 60 分に設定され、リフレッシュ トークンの有効期限は 14 日に設定されています。したがって、この機能を使用すると、要件に応じて有効期限を調整できます。
  • WordPress REST API Basic認証方式ポストマン実装

したがって、このカスタム トークンの有効期限機能を使用すると、セキュリティがさらに強化されます。


5. HMAC を使用してトークンの高度な暗号化を有効にする


この機能は、デフォルトでトークンが Base64 エンコード技術を使用して暗号化される基本認証方式で使用できますが、高度な機能を使用すると、非常に安全な HMAC 暗号化を使用してトークンを暗号化できます。

WordPress REST API Basic認証方式ポストマン実装

6. JWT ベースのトークンの署名の検証


この機能により、JWT トークンの JWT 署名の安全な署名が可能になり、JWT トークンのセキュリティがさらに強化され、署名はクライアント シークレット/証明書を使用してのみデコードできるようになります。つまり、署名は非公開であり、他の人には見えません。

WordPress REST API Basic認証方式ポストマン実装

当社は HS2 と RS256 の 256 つの署名アルゴリズムをサポートしています。したがって、上記の画像に示すように、ドロップダウンから任意の署名アルゴリズムを選択できます。

また、JWT の署名に使用されるクライアント シークレットまたは証明書を追加する必要があります。


7. ユーザー固有の API キー/トークンを作成する


  • この機能は、ユニバーサル キーであるランダムに生成されたトークンではなく、ユーザー情報に従ってトークンを生成できる API キー メソッド内で使用できます。
  • ユニバーサル API キー/トークンを使用すると、ユーザーは、ユーザー、投稿、ページなどの作成など、POST、PUT、DELETE などのリクエスト メソッドを持つ特定の WordPress REST API への権限を持つことができません。ユニバーサル キーはランダムに生成され、ユーザー ベースの説明が含まれていないため、REST API リクエストを使用して操作を実行するには、特定のユーザー権限/ロールが必要です。
  • したがって、このユーザー ベースの API キー/トークン機能により、ユーザーは WordPress で POST、PUT、DELETE などのリクエスト メソッドを使用して REST API にアクセスできます。この操作を実行するには、ユーザー資格情報または特定のロールが必要です。つまり、WordPress REST API リクエストがユーザー ベースのキーを使用して行われると、ユーザーのロールが取得され、権限がある場合にのみ API にアクセスできます。
  • 例: 管理者および編集者の役割を持つユーザーのみが、投稿を作成/編集/削除する権限を持ちます。
  • したがって、この API に投稿の作成/削除/編集のリクエストが行われた場合、API 応答は「この操作を実行することは許可されていません」という結果になります。
  • これで、管理者または編集者のロールを持つユーザー用に生成されたユーザーベースのトークンを使用してリクエストが行われた場合、そのユーザーだけがこの API にアクセスでき、API 呼び出しを介して操作 (作成/更新/削除) を実行できるようになります。
  • この機能の使用方法:

  • ドロップダウンからユーザーを選択し、「API キーの作成」ボタンをクリックします。
  • WordPress REST API Basic認証方式ポストマン実装
  • 画面にポップアップが表示されます。OK ボタンをクリックしてトークンをコピーするだけです。
  • WordPress REST API Basic認証方式ポストマン実装
  • これで、ユニバーサル キーが API リクエストに使用されるのと同じように、このトークンを API リクエストで使用できるようになります。


フル機能のトライアル版を入手



 ご返信ありがとうございます。すぐにご返信させていただきます。

何か問題が発生しました。 もう一度質問を送信してください

サードパーティプロバイダーによる WordPress REST API

お困りですか?

メールでお問い合わせください apisupport@xecurify.com お客様の要件に関する迅速なガイダンス(電子メール/会議経由)が必要です。当社のチームは、お客様の要件に応じて最適なソリューション/プランの選択をお手伝いします。

ADFS_sso ×
こんにちは!

助けが必要? 私たちはここにいます!

サポート