인증 코드 부여
-
승인 요청
-
애플리케이션은 먼저 요청하는 권한을 결정한 다음 사용자를 브라우저로 보내 권한을 받아야 합니다. 이 인증 흐름을 시작하려면 아래와 같이 URL을 구성하고 최종 사용자의 브라우저를 해당 URL로 리디렉션하세요.
바로 http://<wp_base_url>/wp-json/moserver/authorize
?response_type=code
&client_id= <client_id_goes_here>
&redirect_uri= <callback_url>
&scope= <permissions_requesting>
&state= <security_token>
response_type=코드: 기대하는 응답 유형입니다. 인증 코드를 받으려면 값이 있어야 합니다.
암호. 이는 애플리케이션이 인증 흐름을 시작하고 있음을 인증 서버에 알려줍니다.
클라이언트_ID: OAuth 공급자가 제공한 클라이언트 ID입니다.
리디렉션_우리: 사용자가 앱에 대한 액세스를 허용하거나 허용하지 않으면 리디렉션되는 콜백 URL입니다.
범위: 애플리케이션이 요청하는 권한을 나타내는 하나 이상의 공백으로 구분된 문자열입니다.
상태 : 애플리케이션은 임의의 문자열을 생성하고 이를 요청에 포함합니다. 그런 다음 사용자가 앱을 승인한 후 동일한 값이 반환되는지 확인해야 합니다.
사용자가 앱에 대한 액세스를 허용하면 해당 브라우저는 제공된 리디렉션 URL로 리디렉션되고 요청에는 다음이 포함됩니다.
암호 및 상태 쿼리 문자열의 매개변수입니다.
예를 들어 사용자는 다음과 같은 URL로 다시 리디렉션될 수 있습니다.
https://example-app.com/redirect
?code=<authorization-code>
&state=<security_token>
XNUMXD덴탈의 암호 Access Token으로 교환할 수 있는 Authorization Code입니다. 이는 인증 서버에 의해 생성되며 상대적으로 수명이 짧습니다.
XNUMXD덴탈의 상태 애플리케이션이 처음에 요청에 설정한 것과 동일한 보안 토큰입니다.
토큰 요청
-
최종 사용자가 앱 액세스 권한을 부여하고 인증 코드를 받은 경우 토큰 엔드포인트에 POST 요청을 하여 인증 코드를 액세스 토큰으로 교환할 수 있습니다.
- 다음은 POST 요청의 예입니다.
POST http://<wp_base_url>/wp-json/moserver/token
Content-Type: application/x-www-form-urlencoded
grant_type=authorization_code&
code=<authorization_code>&
client_id=<client_id>&
client_secret=<clientSecret>&
redirect_uri=<redirect_uri>
다음은 각 요청 매개변수에 대한 설명입니다.
-
grant_type=authorization_code : 귀하가 제공하는 보조금 유형. 이는 애플리케이션이 인증 코드 부여 유형을 사용하고 있음을 나타냅니다.
-
코드 : 이전 단계에서 받은 인증 코드가 여기에 포함되어 있습니다.
-
리디렉션_우리: 이전에 승인 요청에서 제공된 것과 동일한 URI입니다.
-
클라이언트_ID: OAuth 공급자가 제공한 클라이언트 ID입니다.
-
클라이언트_비밀: OAuth 제공자가 제공한 클라이언트 비밀번호입니다.
토큰 엔드포인트에서는 요청의 모든 매개변수가 확인되어 코드가 만료되지 않았는지, 클라이언트 ID와 비밀번호가 일치하는지 확인합니다. 요청이 성공하면 액세스 토큰이 생성되어 응답으로 반환됩니다.
HTTP/1.1 200 확인 콘텐츠 유형: application/json 캐시 제어: no-store { "access_token":"hkjher92u9eu2u3uihi2eh9293", "token_type":"bearer", "expires_in":3600, "scope":"profile", "id_token":"" }
다음은 응답으로 수신된 각 매개변수에 대한 설명입니다.
-
액세스 토큰 : Userinfo 끝점에 대한 액세스 토큰입니다.
-
토큰_유형: OAuth 2.0 토큰 유형 값입니다. 값은 다음과 같아야 합니다. 열매 맺는 초목.
-
만료 : 액세스 토큰의 만료 시간입니다.
-
범위: 애플리케이션이 요청하는 권한을 나타내는 하나 이상의 공백으로 구분된 문자열입니다.
-
id_token: ID 토큰은 클라이언트를 사용할 때 권한 부여 서버에 의한 최종 사용자 인증에 대한 클레임과 잠재적으로 요청되는 기타 클레임을 포함하는 보안 토큰입니다.
요청이 실패하면 응답 상태는 다음과 같습니다.
불량 404 요청 다음과 같은 내용을 갖게 됩니다:
"error": "invalid_request", "error_description": "앱 개발자를 위한 오류에 대한 자세한 설명입니다."
자원 요청
-
토큰 요청이 성공하면 다음을 받게 됩니다.
access_token API를 통해 보호된 리소스에 액세스하는 데 사용할 수 있는 응답입니다.
-
사용자 정보 요청: 다음은 Userinfo 요청의 비형식적인 예입니다.
바로 http://<wp_base_url>/wp-json/moserver/resource
Host: server.example.com
Authorization: Bearer <access_token>
리소스 서버는 액세스 토큰의 유효성을 검사하고 만료되지 않았는지 확인합니다. 리소스 요청이 유효한 경우 리소스 서버는 청구에 대한 이름 및 값 쌍의 컬렉션이 포함된 JSON 개체로 표시되는 청구를 반환합니다.
성공적인 사용자 정보 응답:
UserInfo 클레임은 JSON 객체의 멤버로 반환되어야 합니다.
아래는 그 예입니다:
{ "id": "1", "username": "abc", "first_name": "xyz", "last_name": "example", "picture": "https://example.com/-kwtzesU/photo .jpg", "email": "abc@example.com", "locale": "en",... }
암시적 코드 부여
-
승인 요청
-
애플리케이션은 먼저 요청하는 권한을 결정한 다음 사용자를 브라우저로 보내 권한을 받아야 합니다. 이 암시적 흐름을 시작하려면 아래와 같이 URL을 구성하고 최종 사용자의 브라우저를 해당 URL로 리디렉션합니다.
돈을 받아가세요 http://<wp_base_url>/wp-json/moserver/authorize
?response_type=token
&client_id= <client_id_goes_here>
&redirect_uri= <callback_url>
&scope= <permissions_requesting>
&state= <security_token>
response_type=토큰: 기대하는 응답 유형입니다. 이는 애플리케이션이 암시적 흐름을 시작하고 있음을 인증 서버에 알립니다. 이 값이 code로 설정된 인증 코드 흐름과의 차이점에 유의하세요.
클라이언트_ID: OAuth 공급자가 제공한 클라이언트 ID입니다.
리디렉션_우리: 사용자가 앱에 대한 액세스를 허용하거나 허용하지 않으면 리디렉션되는 콜백 URL입니다.
범위: 애플리케이션이 요청하는 권한을 나타내는 하나 이상의 공백으로 구분된 문자열입니다.
상태 : 애플리케이션은 임의의 문자열을 생성하고 이를 요청에 포함합니다. 그런 다음 사용자가 앱을 승인한 후 동일한 값이 반환되는지 확인해야 합니다.
사용자가 앱에 대한 액세스를 허용하면 해당 브라우저는 제공된 리디렉션 URL로 리디렉션되고 요청에는 다음이 포함됩니다.
토큰 및 상태 쿼리 문자열의 매개변수입니다.
예를 들어 사용자는 다음과 같은 콜백 URL로 다시 리디렉션될 수 있습니다.
https://callback-url?
#access_token=<access_token>
&token_type=Bearer
&expires_in=3600
&scope=<permissions_requesting>
이 흐름과 인증 코드 흐름 사이의 두 가지 주요 차이점에 유의하세요. 즉, 응답의 인증 코드 대신 액세스 토큰이 반환됩니다.
그런 다음 클라이언트는 다음을 사용할 수 있습니다. access_token 리소스 서버에서 보호된 리소스에 액세스합니다.
다음은 응답으로 수신된 각 매개변수에 대한 설명입니다.
-
액세스 토큰 : Userinfo 끝점에 대한 액세스 토큰입니다.
-
토큰_유형: OAuth 2.0 토큰 유형 값입니다. 값은 다음과 같아야 합니다. 열매 맺는 초목.
-
만료 : 액세스 토큰의 만료 시간입니다.
-
범위: 애플리케이션이 요청하는 권한을 나타내는 하나 이상의 공백으로 구분된 문자열입니다.
자원 요청
-
UserInfo 끝점은 인증된 최종 사용자에 대한 클레임을 반환하는 OAuth 2.0 보호 리소스입니다. 반환된 클레임은 클레임에 대한 이름 및 값 쌍 컬렉션이 포함된 JSON 개체로 표시됩니다.
-
사용자 정보 요청: 다음은 Userinfo 요청의 비형식적인 예입니다.
바로 http://<wp_base_url>/wp-json/moserver/resource
Host: server.example.com
Authorization: Bearer <access_token>
성공적인 사용자 정보 응답:
UserInfo 클레임은 JSON 객체의 멤버로 반환되어야 합니다.
아래는 그 예입니다:
{ "id": "1", "username": "abc", "first_name": "xyz", "last_name": "example", "picture": "https://example.com/-kwtzesU/photo .jpg", "email": "abc@example.com", "locale": "en",... }
비밀번호 부여
-
리소스 소유자 비밀번호(또는 "비밀번호") 부여 유형은 앱의 신뢰도가 높은 경우에 주로 사용됩니다. 이 구성에서 사용자는 리소스 서버 자격 증명(사용자 이름/비밀번호)을 클라이언트 앱에 제공하고 클라이언트 앱은 이를 액세스 토큰 요청으로 보냅니다.
-
토큰 요청
-
비밀번호 부여는 가장 간단한 OAuth 부여 중 하나이며 한 단계만 포함합니다. 애플리케이션은 사용자의 자격 증명을 수집하기 위해 기존 사용자 이름과 비밀번호 로그인 양식을 제공하고 서버에 POST 요청을 보내 비밀번호를 액세스 토큰으로 교환합니다. 애플리케이션이 생성하는 POST 요청은 아래 예와 같습니다.
POST http://<wp_base_url>/wp-json/moserver/token
Host: authorization-server.com
Content-type: application/x-www-form-urlencoded
grant_type=password
&username=exampleuser
&password=12345678
&client_id=xxxxxxxxxx
&client_secret=xxxxxxxxxx
이 요청의 POST 매개변수는 아래에 설명되어 있습니다.
-
grant_type=비밀번호: 이는 서버에 비밀번호 부여 유형을 사용하고 있음을 알려줍니다.
-
사용자 이름= 애플리케이션에 입력한 사용자의 사용자 이름
-
암호 = 애플리케이션에 입력한 사용자의 비밀번호
-
클라이언트_ID= 개발자가 등록 중에 얻은 애플리케이션의 공개 식별자
-
클라이언트_비밀= OAuth 제공자가 제공한 클라이언트 비밀번호입니다.
토큰 엔드포인트에서는 요청의 모든 매개변수가 확인되어 코드가 만료되지 않았는지, 클라이언트 ID와 비밀번호가 일치하는지 확인합니다. 요청이 성공하면 액세스 토큰이 생성되어 응답으로 반환됩니다.
HTTP/1.1 200 확인 콘텐츠 유형: application/json 캐시 제어: no-store { "access_token":"hkjher92u9eu2u3uihi2eh9293", "token_type":"bearer", "expires_in":3600, "scope":"profile", "id_token":"" }
그런 다음 클라이언트는 다음을 사용할 수 있습니다. access_token 리소스 서버에서 보호된 리소스에 액세스합니다.
다음은 응답으로 수신된 각 매개변수에 대한 설명입니다.
-
액세스 토큰 : Userinfo 끝점에 대한 액세스 토큰입니다.
-
토큰_유형: OAuth 2.0 토큰 유형 값입니다. 값은 다음과 같아야 합니다. 열매 맺는 초목.
-
만료 : 액세스 토큰의 만료 시간입니다.
-
범위: 애플리케이션이 요청하는 권한을 나타내는 하나 이상의 공백으로 구분된 문자열입니다.
자원 요청
-
UserInfo 끝점은 인증된 최종 사용자에 대한 클레임을 반환하는 OAuth 2.0 보호 리소스입니다. 반환된 클레임은 클레임에 대한 이름 및 값 쌍 컬렉션이 포함된 JSON 개체로 표시됩니다.
-
사용자 정보 요청: 다음은 Userinfo 요청의 비형식적인 예입니다.
바로 http://<wp_base_url>/wp-json/moserver/resource
Host: server.example.com
Authorization: Bearer <access_token>
성공적인 사용자 정보 응답:
UserInfo 클레임은 JSON 객체의 멤버로 반환되어야 합니다.
아래는 그 예입니다:
{ "id": "1", "username": "abc", "first_name": "xyz", "last_name": "example", "picture": "https://example.com/-kwtzesU/photo .jpg", "email": "abc@example.com", "locale": "en",... }
클라이언트 자격 증명 부여
-
클라이언트 자격 증명 부여는 컴퓨터 간 인증에 사용될 수 있습니다. 이 부여에서는 특정 사용자에게 권한이 부여되지 않지만 자격 증명이 확인되고 일반 access_token이 반환됩니다.
-
토큰 요청
-
액세스 토큰을 받기 위해 클라이언트는 등록된 개발자 앱에서 얻은 클라이언트 ID 및 클라이언트 비밀번호 값을 사용하여 다음과 같이 API 호출을 게시합니다.
POST http://<wp_base_url>/wp-json/moserver/token
Content-Type: application/x-www-form-urlencoded
grant_type=client_credentials&
client_id=<client_id>&
client_secret=<clientSecret>&
redirect_uri=<redirect_uri>&
scope=<permisssions_requested>
요청 매개변수:
- POST 요청 매개변수는 아래에 설명되어 있습니다.
-
grant_type=client_credentials : 이는 클라이언트 자격 증명 부여 유형을 사용하고 있음을 서버에 알려줍니다.
-
클라이언트_ID= 개발자가 등록 중에 얻은 애플리케이션의 공개 식별자입니다.
-
클라이언트_비밀: OAuth 제공자가 제공한 클라이언트 비밀번호입니다.
-
리디렉션_우리: 사용자가 앱에 대한 액세스를 허용하거나 허용하지 않으면 리디렉션되는 콜백 URL입니다.
-
범위: 애플리케이션이 요청하는 권한을 나타내는 하나 이상의 공백으로 구분된 문자열입니다.
자격 증명이 유효한 경우 애플리케이션은 서명된 JSON 웹 토큰 또는 액세스 토큰, 토큰 유형(Bearer) 및 Unix 시간에서 만료되는 시간을 다시 수신합니다.
샘플 응답
{ "액세스_토큰": , "expires_in": 600, "token_type": "Bearer" }
응답 요소:
-
액세스 토큰 : Userinfo 끝점에 대한 액세스 토큰입니다.
- 만료 액세스 토큰의 만료 시간입니다.
-
토큰 유형: OAuth 2.0 토큰 유형 값입니다. 값은 다음과 같아야 합니다. 열매 맺는 초목.
자원 요청
- XNUMXD덴탈의 클라이언트 자격 증명 부여 지원하지 않습니다 자원 요청.
리프레시 토큰 부여
-
새로 고침 토큰을 사용하면 애플리케이션이 사용자를 다시 인증할 필요 없이 새 액세스 토큰 또는 ID 토큰을 발급할 수 있습니다. 새로 고침 토큰이 취소되지 않은 한 작동합니다.
-
토큰 요청
-
토큰 요청의 응답에는 액세스 토큰과 새로 고침 토큰이 포함되어야 합니다.
{ "access_token": "etMv23....429hiU32Hri", "refresh_token": "GEbRxBN...edjnXbL", "token_type": "Bearer" }
새로 고침 토큰을 사용하세요:
받은 새로 고침 토큰을 새 액세스 토큰으로 교환하려면 다음을 사용하여 토큰 엔드포인트에 POST 요청을 수행하세요.
grant_type=refresh_token 다음과 같다.
POST http://<wp_base_url>/wp-json/moserver/token
Content-Type: application/x-www-form-urlencoded
grant_type=refresh_token&
client_id=<client_id>&
client_secret=<client_secret>&
refresh_token=<refresh_token>
다음은 각 요청 매개변수에 대한 설명입니다.
-
grant_type=refresh_token : 이는 새로 고침 토큰 부여 유형을 사용하고 있음을 서버에 알려줍니다.
-
클라이언트_ID= 개발자가 등록 중에 얻은 애플리케이션의 공개 식별자입니다.
-
클라이언트_비밀: OAuth 제공자가 제공한 클라이언트 비밀번호입니다.
- 새로고침_토큰: 사용할 새로 고침 토큰입니다.
응답에는 새 액세스 토큰, 해당 유형, 수명(초) 및 부여된 범위가 포함됩니다. 초기 토큰의 범위에 openid가 포함된 경우 새 ID 토큰도 응답에 포함됩니다.
응답에는 다음과 같은 매개변수가 포함됩니다.
{ "access_token": "eyJ...MoQ", "expires_in": 86400, "scope": , "id_token": "eyJ...0NE", "token_type": "Bearer" }
새로 고침 토큰 취소
-
새로 고침 토큰은 만료되지 않으므로 손상될 경우 이를 취소할 수 있어야 합니다.
-
새로 고침 토큰을 취소하려면 POST 다음과 같이 토큰 엔드포인트에 요청합니다.
POST http://<wp_base_url>/wp-json/moserver/token
Content-Type: application/x-www-form-urlencoded
client_id=<client_id>&
client_secret=<client_secret>&
refresh_token=<refresh_token>
무료 트라이얼
원하는 내용을 찾지 못한 경우 다음 주소로 문의해 주세요.
info@miniorange.com
또는로 문의 +1 978 658 9387 Wordpress OAuth 서버에 대한 질문에 대한 답변을 찾으세요.
자세히 알아보려면 동영상을 시청하세요.
데모보기