WordPress REST API 인증 플러그인은 WordPress REST API에 대한 무단 액세스로부터 보안을 제공합니다.
검색 결과 :
×타사 공급자 방법을 사용한 WordPress REST API 인증에는 Google, Facebook, Firebase, Apple, Azure AD, Keycloak, Okta, AWS Cognito와 같은 타사 공급자로부터 받은 토큰(access-token/id-token/jwt 토큰)이 사용됩니다. , Github, Slack, Gitlab 등을 사용하여 WordPress Rest API에 안전하게 액세스할 수 있습니다.
WordPress 엔드포인트는 기본적으로 안전하지 않으며 JSON 형식의 REST API를 통해 데이터가 도난당할 수 있습니다. WordPress REST API 인증을 사용하면 기본 인증, API KEY, JWT 토큰, OAuth 토큰과 같은 여러 보안 방법으로 REST API를 호출할 수 있습니다. 이 가이드에서는 OAuth/OpenID Connect/Firebase 공급자가 발급한 OAuth 토큰을 사용하여 WordPress 웹사이트를 보호하고 안전하게 유지하는 REST API 요청을 검증합니다.
REST API에 대한 액세스 요청이 이루어질 때마다 Google, Facebook, Firebase, Apple, okta 등과 같은 제3자 제공업체가 발행한 토큰에 대해 API 검증을 기반으로 인증이 수행됩니다. 토큰을 사용하면 해당 REST API 요청에 대한 리소스에 액세스할 수 있습니다. 따라서 SSO 로그인 후 앱에서 얻은 단일 토큰은 WP REST API 엔드포인트에 액세스하는 데 추가로 사용될 수 있습니다.
WordPress REST API 인증 플러그인은 WordPress REST API에 대한 무단 액세스로부터 보안을 제공합니다.
1. WordPress REST API 엔드포인트 요청은 토큰 유형이 Bearer인 Authorization 헤더에 전달된 OAuth/OpenID Connect ID 공급자로부터 얻은 액세스/ID 토큰을 사용하여 수행됩니다.
2. WordPress REST API 요청은 플러그인에 의해 모니터링되며 JWT 토큰 유효성 검사/인증 요청은 OAuth/OpenID Connect ID 공급자(서버)로 전송됩니다.
3. JWT 토큰의 유효성을 검사하기 위해 이전에 이루어진 요청에 대해 OAuth/OpenID Connect ID 공급자(서버)로부터 응답이 반환됩니다.
4. JWT 토큰 유효성 검사/인증이 성공하면 요청한 리소스에 액세스할 수 있습니다. 이는 요청자가 이제 리소스/데이터에 액세스할 수 있는 권한이 부여되었음을 의미하며, 이 경우 토큰 유효성 검사가 실패하면 오류 응답이 반환됩니다. . 따라서 리소스 데이터는 이제 보호되고 인증 시 액세스할 수 있으므로 보안은 문제가 되지 않습니다.
관련 사용 사례: 소셜 로그인 또는 OAuth2.0/OpenID Connect ID 공급자가 제공하는 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를 요청할 때마다 해당 역할을 가져오고 해당 역할이 화이트리스트에 있는 경우에만 리소스에 액세스할 수 있습니다.
그것을 구성하는 방법?
참고 : 역할 기반 제한 기능은 기본 인증(사용자 이름: 비밀번호), JWT 방식, OAuth 2.0(비밀번호 부여)에 유효합니다.
2. 커스텀 헤더
이 기능은 기본 '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이라는 두 가지 서명 알고리즘을 지원합니다. 따라서 위 이미지에 표시된 대로 드롭다운에서 서명 알고리즘을 선택할 수 있습니다.
또한 JWT 서명에 서명하는 데 사용되는 클라이언트 비밀번호 또는 인증서를 추가해야 합니다.
7. 사용자별 API 키/토큰 생성
이 기능을 사용하는 방법:
메일을 보내주세요 apisupport@xecurify.com 귀하의 요구 사항에 대한 빠른 안내(이메일/회의를 통해)를 원하시면 저희 팀이 귀하의 요구 사항에 따라 가장 적합한 솔루션/계획을 선택하도록 도와드릴 것입니다.
WordPress REST API 인증 플러그인은 WordPress REST API에 대한 무단 액세스에 대한 보안을 제공합니다. 기본 인증, API Key 인증, OAuth 2.0 인증, JWT 인증 등 다양한 인증 방법을 제공합니다.
이 플러그인을 사용하면 사용하기 쉬운 그래픽 인터페이스와 사용자 정의 SQL 쿼리를 사용하여 데이터를 가져오거나 수정/생성/삭제하는 사용자 정의 엔드포인트/REST 경로를 생성할 수 있습니다. 또한 플러그인은 타사 플랫폼을 사용하여 외부 API를 WordPress 사이트에 통합하는 기능을 제공합니다.
도움이 필요하다? 우리는 바로 여기에 있습니다!
본 개인 정보 보호 정책은 당사가 개인 정보를 처리하는 방법을 설명하는 미니오렌지 웹사이트에 적용됩니다. 귀하가 웹사이트를 방문하면 해당 웹사이트는 대부분 쿠키 형태로 귀하의 브라우저에 정보를 저장하거나 검색할 수 있습니다. 이 정보는 귀하, 귀하의 기본 설정 또는 귀하의 장치에 관한 것일 수 있으며 대부분 사이트가 귀하가 기대하는 대로 작동하도록 하는 데 사용됩니다. 이 정보는 귀하를 직접적으로 식별하지는 않지만 귀하에게 보다 개인화된 웹 경험을 제공할 수 있습니다. 카테고리 제목을 클릭하면 당사가 쿠키를 처리하는 방법을 확인할 수 있습니다. 당사 솔루션의 개인정보 보호정책은 다음을 참조하세요. 개인 정보 보호 정책.
필수 쿠키는 사이트 탐색, 로그인, 양식 작성 등과 같은 기본 기능을 활성화하여 웹사이트를 완벽하게 사용할 수 있도록 도와줍니다. 해당 기능에 사용되는 쿠키는 개인 식별 정보를 저장하지 않습니다. 그러나 웹사이트의 일부 부분은 쿠키 없이는 제대로 작동하지 않을 수 있습니다.
이러한 쿠키는 방문자, 소스, 페이지 클릭 및 조회수 등을 포함하여 웹사이트 트래픽에 대해 집계된 정보만 수집합니다. 이를 통해 당사는 실행 가능한 요소에 대한 사용자의 상호 작용과 함께 가장 인기 있는 페이지와 가장 인기 없는 페이지에 대해 더 많이 알 수 있으므로 이를 통해 당사는 웹사이트와 서비스의 성능을 개선합니다.