검색 결과 :

×

OAuth API 문서


인증 코드 부여

  • 승인 요청

    • 애플리케이션은 먼저 어떤 권한을 요청할지 결정한 다음, 사용자가 권한을 얻기 위해 브라우저로 이동하도록 해야 합니다. 이러한 권한 부여 흐름을 시작하려면 아래와 같은 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>
                
    • The 암호 인증 코드는 액세스 토큰으로 교환할 수 있는 코드입니다. 인증 서버에서 생성되며 유효 기간이 비교적 짧습니다.
    • The 상태 이는 애플리케이션이 요청 시 처음 설정한 것과 동일한 보안 토큰입니다.
  • 토큰 요청

    • 최종 사용자가 앱에 액세스 권한을 부여하고 인증 코드를 수신한 경우, 토큰 엔드포인트로 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를 통해 보호된 리소스에 접근하는 데 사용할 수 있는 정보가 포함되어 있습니다.
    • 사용자 정보 요청: 다음은 사용자 정보 요청의 비형식적인 예시입니다.
    •                    바로 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=토큰: 예상되는 응답 유형입니다. 이 값은 애플리케이션이 암시적 흐름을 시작했음을 권한 부여 서버에 알려줍니다. 이 값이 '코드'로 설정되는 권한 부여 코드 흐름과는 다르다는 점에 유의하십시오.
    • 클라이언트_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 객체로 표현됩니다.
    • 사용자 정보 요청: 다음은 사용자 정보 요청의 비형식적인 예시입니다.
    •              바로 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 객체로 표현됩니다.
    • 사용자 정보 요청: 다음은 사용자 정보 요청의 비형식적인 예시입니다.
    •              바로 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",... }
                

클라이언트 자격 증명 부여

  • 클라이언트 자격 증명 부여는 기기 간 인증에 사용할 수 있습니다. 이 방식에서는 특정 사용자를 인증하는 것이 아니라 자격 증명을 검증하고 일반적인 액세스 토큰을 반환합니다.
  • 토큰 요청

    • 액세스 토큰을 받으려면 클라이언트는 등록된 개발자 앱에서 얻은 클라이언트 ID와 클라이언트 시크릿 값을 사용하여 다음과 같이 API 호출을 POST합니다.
    •           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), 그리고 유닉스 시간으로 계산한 만료 시간을 받게 됩니다.
    • 샘플 응답
    •         { "액세스_토큰": , "expires_in": 600, "token_type": "Bearer" }
                
    • 응답 요소:
      • 액세스 토큰 : Userinfo 끝점에 대한 액세스 토큰입니다.
      • 만료 액세스 토큰의 만료 시간입니다.
      • 토큰 유형: OAuth 2.0 토큰 유형 값입니다. 값은 다음 중 하나여야 합니다. 열매 맺는 초목.
  • 자원 요청

    • The 클라이언트 자격 증명 부여 지원하지 않습니다 자원 요청.

    리프레시 토큰 부여

    • 리프레시 토큰을 사용하면 애플리케이션이 사용자를 다시 인증하지 않고도 새 액세스 토큰 또는 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 서버 관련 질문에 대한 답변을 드리겠습니다.

자세히 알아보려면 동영상을 시청하세요.  데모보기
안녕하세요!

도움이 필요하다? 우리는 바로 여기에 있습니다!

SUPPORT