WordPress REST API 認証プラグインは、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 への不正アクセスからのセキュリティを提供します。
1. WordPress REST API エンドポイント リクエストは、OAuth/OpenID Connect ID プロバイダーから取得したアクセス/ID トークンを使用して行われ、トークン タイプがベアラーとして Authorization ヘッダーに渡されます。
2. WordPress REST API リクエストはプラグインによって監視され、JWT トークンの検証/認証リクエストが OAuth/OpenID Connect ID プロバイダー (サーバー) に送信されます。
3. JWT トークンを検証するために以前に行われたリクエストに対するレスポンスが OAuth/OpenID Connect ID プロバイダー (サーバー) から返されます。
4. JWT トークンの検証/認証が成功した場合、要求されたリソースへのアクセスが許可されます。これは、リクエスタがリソース/データへのアクセスを許可されたことを意味します。トークンの検証が失敗した場合は、エラー応答が返されます。 。したがって、リソース データは保護されており、承認に基づいてアクセスできるため、セキュリティは問題になりません。
関連するユースケース: ソーシャル ログインまたは OAuth2.0/OpenID Connect アイデンティティ プロバイダーによって提供される JWT トークンを使用して WordPress REST API エンドポイントを阻止するにはどうすればよいですか?
認証を実行してセキュリティを確保するか、OAuth/OpenID SSO ログイン フロー中にソーシャル ログイン/OAuth プロバイダーによって提供されるアクセス/ID トークンに基づいて 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 リクエストを作成するには、次の手順に従います。
1. ロールベースの REST API の制限:
この機能を使用すると、ユーザーのロールに基づいて REST API アクセスを制限できます。 REST API の要求されたリソースへのアクセスを許可するロールをホワイトリストに登録できます。したがって、ユーザーによって REST API リクエストが行われるたびに、ユーザーのロールがフェッチされ、そのロールがホワイトリストに登録されている場合にのみリソースへのアクセスが許可されます。
それを構成する方法は?
注: ロールベース制限機能は、Basic認証(ユーザー名:パスワード)、JWT方式、OAuth 2.0(パスワード付与)で有効です。
2. カスタムヘッダー
この機能では、デフォルトの「Authorization」ヘッダーではなくカスタム ヘッダーを選択するオプションが提供されます。
ヘッダーに「カスタム名」を付けるとセキュリティが強化されるため、誰かがヘッダーを「Authorization」として REST API リクエストを作成した場合、その人は API にアクセスできなくなります。
それを構成する方法は?
3. REST APIを除外する
この機能を使用すると、REST API をホワイトリストに登録して、認証なしで直接アクセスできるようになります。したがって、これらのホワイトリストに登録された REST API はすべて公開されています。
それを構成する方法は?
4. カスタムトークンの有効期限
この機能は、時間ベースのトークンを使用して WordPress REST API エンドポイントを認証する JWT および OAuth 2.0 メソッドに適用できます。この機能を使用すると、トークンの有効期限が切れると無効になるように、トークンのカスタム有効期限を設定できます。
それを構成する方法は?
したがって、このカスタム トークンの有効期限機能を使用すると、セキュリティがさらに強化されます。
5. HMAC を使用してトークンの高度な暗号化を有効にする
この機能は、デフォルトで Base64 エンコード技術を使用してトークンが暗号化される基本認証方法で使用できますが、高度な機能を使用すると、非常に安全な HMAC 暗号化を使用してトークンを暗号化できます。
6. JWT ベースのトークンの署名の検証
この機能により、JWT トークンの JWT 署名の安全な署名が可能になり、JWT トークンの安全性がさらに高まり、署名はクライアント シークレット/証明書を使用してのみデコードできるようになります。これは、あなたの署名が非公開であり、他の人が見ることができないことを意味します。
HS2 と RS256 の 256 つの署名アルゴリズムのサポートを提供しています。そのため、上の図に示すように、ドロップダウンからいずれの署名アルゴリズムも選択できます。
また、JWT の署名に使用されるクライアント シークレットまたは証明書を追加する必要があります。
7. ユーザー固有の API キー/トークンを作成する
この機能の使用方法:
メールでお問い合わせください apisupport@xecurify.com お客様の要件に関する迅速なガイダンス(電子メール/会議経由)が必要です。当社のチームは、お客様の要件に応じて最適なソリューション/プランの選択をお手伝いします。
WordPress REST API 認証プラグインは、WordPress REST API への不正アクセスに対するセキュリティを提供します。 Basic 認証、API キー認証、OAuth 2.0 認証、JWT 認証などのさまざまな認証方法を提供します。
このプラグインを使用すると、使いやすいグラフィカル インターフェイスやカスタム SQL クエリを使用して、データのフェッチ/変更/作成/削除を行うためのカスタム エンドポイント/REST ルートを作成できます。 また、このプラグインは、サードパーティのプラットフォームを使用して外部 API を WordPress サイトに統合する機能を提供します。
助けが必要? 私たちはここにいます!
このプライバシーに関する声明は、個人情報の取り扱い方法を説明する miniorange の Web サイトに適用されます。 Web サイトにアクセスすると、ブラウザ上の情報が主に Cookie の形式で保存または取得されることがあります。 この情報はあなた、あなたの設定、またはデバイスに関するものであり、主にサイトを期待どおりに動作させるために使用されます。 この情報はお客様を直接特定するものではありませんが、よりパーソナライズされた Web エクスペリエンスを提供することができます。 カテゴリの見出しをクリックして、Cookie の処理方法を確認してください。 当社のソリューションのプライバシーに関する声明については、以下を参照してください。 プライバシーポリシーをご覧ください。.
必要な Cookie は、サイト ナビゲーション、ログイン、フォームへの入力などの基本機能を有効にすることで、Web サイトを十分に利用できるようにするのに役立ちます。この機能に使用される Cookie には個人を特定できる情報は保存されません。 ただし、Web サイトの一部の部分は Cookie がないと正しく動作しません。
これらの Cookie は、訪問者、ソース、ページのクリックとビューなどを含む、Web サイトのトラフィックに関する集約情報のみを収集します。これにより、当社は、最も人気のあるページと最も人気のないページ、およびアクション可能な要素でのユーザーのインタラクションについてさらに詳しく知ることができるため、当社は、当社のウェブサイトおよび当社のサービスのパフォーマンスを向上させます。