검색 결과 :

×

Drupal REST API 인증


이 문서에서는 miniOrange REST API 인증 모듈에서 제공하는 각 인증 방법을 구성하고 사용하는 단계를 안내합니다. 이 모듈은 다음 두 가지를 모두 지원합니다. REST 뿐만 아니라 JSON API 모듈.

다음 링크-API 인증 가이드를 통해 모든 인증 방법에 대한 자세한 설정 가이드를 참조할 수 있습니다.

모듈에서 지원하길 원하는 다른 사용자 정의 API가 있거나 도움이 필요한 경우 언제든지 다음 주소로 문의해 주세요. drupalsupport@xecurify.com 전체 기능을 보려면 여기를 클릭하십시오. 명부.

1. 기본 인증

  • 기본 인증은 클라이언트가 자격 증명을 사용하여 Drupal API를 보호할 수 있는 간단한 인증 메커니즘입니다. 이 인증 방법으로 API를 사용하려면 Authorization 헤더에 base64로 인코딩된 사용자 이름과 비밀번호가 포함된 요청을 보내야 합니다.
  • 이 방법을 선택하려면 기본 인증 아래와 같이 모듈에서 :
  • Drupal API 인증 기본 인증 방법 선택
  • Drupal에서 노드 정보를 얻으려면 사용자의 Drupal 사용자 이름 및 비밀번호와 함께 GET 요청을 해야 합니다. 사용자 이름과 비밀번호의 값은 base64로 인코딩된 형식이어야 합니다. 아래 형식을 참조하여 전화를 걸 수 있습니다.
  • 
                 Request: GET <your_drupal_base_url>/node/{node}?_format=json
                 Header: 
                        Authorization: Basic base64encoded <username:api_key>
                        Accept: application/json 
                        Content-Type: application/json
                 
                 Sample curl Request Format-
                 --location --request GET '<your_drupal_base_url>/node/1?_format=json' \
                 --header 'Accept: application/json' \
                 --header 'Content-Type: application/json' \
                 --header 'Authorization: Basic base64encoded <username:API key’> \
                
  • 요청에는 각각 다음과 같은 방식으로 헤더와 본문 매개변수가 있어야 합니다.
  • Drupal API 인증 보내기 응답
  • 성공적인 응답은 다음과 같습니다.
  • Drupal API 인증 응답

    2. API Key 인증

    • API 키 인증은 Drupal REST API를 보호하는 가장 간단한 방법 중 하나입니다. 모든 사용자에 대해 API 키를 생성한 후에는 해당 키를 사용하여 Drupal REST API에 대한 액세스를 보호할 수 있습니다.
    • API Key를 API 인증 방법으로 설정하려면 다음으로 이동하세요. API 인증 REST API 인증 모듈 탭(/admin/config/people/rest_api_authentication/auth_settings)
    • 선택 인증 활성화 확인란 그리고 클릭 위 설정 저장 버튼을 클릭합니다.
    • API 키 기반 인증을 활성화하려면 API 키 라디오 버튼을 선택하세요.
    • 동일한 화면에서 특정 사용자에 대한 API 키를 생성하거나 모든 사용자에 대한 API 키를 한 번에 생성할 수 있습니다.
    • Drupal selectAPI 인증
    • 필드 API 키에 대한 사용자 속성을 생성해야 합니다. 참고하시면 됩니다 필드 API 키를 생성하려면 링크를 클릭하세요.
    • 좀 더 자세히 설명하기 위해 Drupal에서 사용자를 생성하는 예를 들어보겠습니다.
    • Drupal에서 사용자를 생성하려면 사용자 이름과 miniOrange REST API 인증 모듈에서 제공하는 API 키를 사용하여 POST 요청을 해야 합니다. 사용자 이름과 API 키는 base64로 인코딩되어야 합니다. 전화를 걸 때 다음 형식을 참조로 사용하세요.
    • 
                   Request: POST <your_drupal_base_url>/entity/user?_format=json
                   Header: 
                          Authorization: Basic base64encoded <username:api_key>
                          Accept: application/json 
                          Content-Type: application/json
                   Body:
                   
                      {
                       "name": [
                               {"value": "username"}
                         ],
                       "mail": [
                               {"value": "email"}
                         ],
                       "pass": [
                               {"value": "password"}
                         ],
                      "status":[
                               {"value": "1"}
                         ]
                     }
       
                   Sample curl Request Format-
                   --location --request POST '<your_drupal_base_url>/entity/user?_format=json' \
                   --header 'Accept: application/json' \
                   --header 'Content-Type: application/json' \
                   --header 'Authorization: Basic base64encoded’ \
                   --data-raw   '   
                     {
                       "name": [
                           {"value": "Username"}
                         ],
                       "mail": [
                           {"value": "email"}
                         ],
                       "pass":[
                           {"value": "Password"}
                         ],
                       "status":[
                           {"value": "1"
                     }
                       ]
                      
               
                  
    • 요청에는 각각 다음과 같은 방식으로 헤더와 본문 매개변수가 있어야 합니다.
    • Drupal REST API 전송 응답
    • 성공적인 응답은 다음과 같습니다.
    • Drupal REST API 인증 응답

    3. JWT 인증

    • JWT(JSON 웹 토큰)는 양측 상호 작용 중에 사용자의 신원을 나타내는 안전한 방법입니다. 처음에는 Drupal 사이트의 자격 증명을 사용하여 JWT 토큰을 얻습니다. 사용자 이름과 비밀번호를 확인한 후 Drupal REST API 인증 모듈은 서명된 JWT 토큰을 생성합니다. 이 토큰은 후속 API 요청을 위해 클라이언트 애플리케이션으로 다시 전송됩니다.
    • 이 토큰은 만료될 때까지 Drupal에서 작업을 수행하는 데 사용됩니다. Drupal REST API 인증 모듈은 애플리케이션에서 유효한 JWT를 수신한 경우에만 액세스 권한을 부여합니다.
    • JWT를 API 인증 방법으로 설정하려면 다음으로 이동하세요. API 인증 REST API 인증 모듈 탭(/admin/config/people/rest_api_authentication/auth_settings)
    • 선택 인증 활성화 확인란 그리고 클릭 위 설정 저장 버튼을 클릭합니다.
    • 위에 설정 저장 버튼 아래에서 JWT 라디오 버튼을 선택합니다. "사용자 이름 속성" 텍스트 필드에 사용자 이름을 받을 속성 이름을 입력하세요.
    • 마지막으로 JWT 구성 저장 버튼을 클릭합니다.
    • 인증을 위해 외부에서 생성된 JWT 토큰을 사용하려면 다음 옵션을 구성할 수 있습니다.
  • "사용자 이름 속성" 텍스트 필드에 사용자 이름을 받을 속성 이름을 입력하세요.
  • 외부 JWT 토큰을 사용하려는 경우 JWKS URL을 지정하여 Drupal에서 해당 토큰의 유효성을 검사할 수도 있습니다.
    Drupal 선택 JWT 토큰 방법
  • 다음 예를 고려해 보겠습니다. JWT를 얻으려면 API 요청을 시작해야 합니다. 이어서 토큰을 활용하여 Drupal API를 인증하여 기본 페이지를 생성하겠습니다.
  • JWT를 획득하려면 사용자의 Drupal 자격 증명이 포함된 POST 쿼리를 제출해야 합니다. 사용자 이름과 비밀번호는 base64 인코딩 형식으로 전송되어야 합니다. 귀하의 편의를 위해 아래 요청 형식을 참고하시기 바랍니다.
  • 
                     Request: POST <your_drupal_base_url>/rest_api/id_token
                     Header: 
                            Authorization: Basic base64encoded <username:password;>
                            Accept: application/json
                     Sample curl Request Format-
                     --location --request POST "<your_drupal_base_url>/rest_api/id_token' \"
                     --header 'Accept: application/json'\
                     --header 'Content-Type: application/json' \
                     --header 'Authorization: Basic base64encoded’ \'
                 
  • 또한 Drupal에서 JWT를 얻기 위한 Postman 요청 이미지를 참조할 수도 있습니다.
  • Drupal REST API JWT 토큰 엔드포인트
  • 성공적인 응답은 토큰 만료와 함께 JWT를 반환합니다. (아래 이미지를 참고해주세요)
  • Drupal REST API ID JWT 토큰 성공
  • 수신된 JWT를 사용하여 Drupal REST API를 인증하려면 다음 가이드를 참조하세요. Drupal REST API를 인증합니다.

4. OAuth 2.0 인증

  • REST API를 통해 Drupal 사이트 API에 대한 액세스를 인증하기 위해 OAuth 2.0 메서드는 OAuth 2.0 프로토콜 흐름을 사용합니다. 여기에는 Drupal 사이트에 대한 액세스를 인증하는 데 사용되는 보안 액세스 토큰을 얻는 것이 포함됩니다. OAuth 인증 방법은 고도로 암호화되고 안전한 액세스 토큰을 제공하여 Drupal API에 대한 완벽한 보안을 보장합니다. 이는 Drupal REST 또는 JSONAPI API 엔드포인트를 무단 액세스로부터 보호하는 가장 안전한 방법 중 하나로 간주됩니다.
  • 로 이동 API 인증 REST API 인증 모듈 탭(/admin/config/people/rest_api_authentication/auth_settings)
  • 선택 인증 활성화 확인란 그리고 클릭 위 설정 저장 버튼을 클릭합니다.
  • 위 설정 저장 버튼 아래에서 OAuth/액세스 토큰 라디오 버튼을 선택합니다.
  • 이제 새 클라이언트 ID 및 비밀번호 생성 버튼을 클릭하세요.
  • Drupal 선택 액세스 토큰 방법
  • miniOrange API 인증 모듈은 액세스 토큰을 얻는 데 사용할 수 있는 두 가지 승인 유형을 지원합니다.
  • 비밀번호 부여: 이 부여 유형에서는 REST API 인증 모듈에서 발급한 클라이언트 ID와 함께 사용자의 Drupal 사용자 이름 및 비밀번호가 포함된 POST 요청을 보내 액세스 토큰을 얻을 수 있습니다.
  • 
             Request: POST <drupal_base_url>/rest_api/access_token
             Body: 
                 grant_type = password
                 username   = drupal_username
                 password   = drupal_password 
                 client_id  = client_id
                 
             Sample curl Request Format-
             --location --request POST '<your_drupal_base_url>/rest_api/access_token' \
             --header 'Accept: application/json'\
             --header 'Content-Type: pplication/x-www-form-urlencoded' \
             --data-urlencode 'grant_type=password' \
             --data-urlencode 'client_id= ' \
             --data-urlencode 'username='\
             --data-urlencode 'password='
         
  • 비밀번호 부여를 사용하여 Drupal에서 액세스 토큰을 얻으려면 Postman 요청 이미지를 참조할 수도 있습니다.
  • Drupal 액세스 토큰 인증 요청
  • 성공적인 응답은 토큰 만료 및 토큰 유형과 함께 액세스 토큰을 반환합니다(아래 이미지 참조).
  • Drupal 액세스 토큰 인증 요청
  • 클라이언트 자격 증명 부여: 이 권한 부여에서는 사용자의 Drupal 사용자 이름과 함께 REST API 인증 모듈에서 발급한 클라이언트 ID 및 클라이언트 비밀번호가 포함된 POST 요청을 수행하여 액세스 토큰을 얻을 수 있습니다.
  • 
         Request: POST <drupal_base_url>/rest_api/access_token
         Body: 
             grant_type  = client_credentials
             client_id   = client_id
            client_secret = client_secret
            Username      = drupal_username
             
         Sample curl Request Format-
         --location --request POST '<your_drupal_base_url>/rest_api/access_token' \
         --header  'Accept: application/json'\
         --header 'Content-Type: pplication/x-www-form-urlencoded' \
         --data-urlencode 'grant_type=client_credentials' \
         --data-urlencode 'client_id= <Client_ID>'\
         --data-urlencode 'username=<drupal_username>' \
         --data-urlencode 'client_secret=<Client_secret>'
     
  • 클라이언트 자격 증명 부여를 사용하여 Drupal에서 액세스 토큰을 얻으려면 Postman 요청 이미지를 참조할 수도 있습니다.
  • Drupal 액세스 토큰 인증 요청
  • 성공적인 응답은 토큰 만료 및 토큰 유형과 함께 액세스 토큰을 반환합니다(아래 이미지 참조).
  • Drupal 액세스 토큰 인증 요청
  • 액세스 토큰을 얻기 위해 API 호출을 수행합니다. 그런 다음 이를 사용하여 사용자 정보 참조를 얻기 위해 Drupal API를 인증합니다. 링크를 클릭하십시오.

5. 제XNUMX자 공급자 인증

  • 이 방법을 구현하려면 Google, Azure AD 등과 같은 타사 공급자로부터 토큰을 얻어야 합니다. 이러한 토큰을 사용하면 Drupal의 REST API에 안전하게 액세스할 수 있습니다.
  • 외부 ID 공급자 인증을 사용하려면 ID 공급자가 제공한 사용자 정보 끝점과 ID 공급자와 연결된 사용자 이름 속성을 지정하여 모듈을 구성해야 합니다. 일단 구성되면 공급자가 제공한 토큰을 사용하여 모든 Drupal API 요청을 인증할 수 있습니다.
  • 로 이동 API 인증 REST API 인증 모듈 탭(/admin/config/people/rest_api_authentication/auth_settings)
  • 똑딱 똑딱 인증 활성화 확인란 명중 위 설정 저장 버튼을 클릭합니다.
  • 위에 설정 저장 버튼 아래에서 외부 ID 공급자 라디오 버튼을 선택합니다.
  • 사용자 정보 끝점 텍스트 상자에 ID 공급자에 대한 사용자 정보 끝점을 입력합니다. 이를 통해 모듈은 제공된 토큰을 사용하여 사용자 정보를 검색할 수 있습니다.
  • 사용자 이름 속성 필드에 외부 공급자가 사용자 이름을 보내기 위해 활용하는 ID 공급자의 속성 키/이름을 입력합니다.
  • Drupal 선택 타사 인증 방법
  • Drupal에서 사용자를 생성하려면 ID 공급자로부터 받은 토큰과 함께 POST 요청을 수행해야 합니다.
  • 
             Request: POST <your_drupal_base_url>/entity/user?_format=json
             Header: 
                     Token: <Token_receievd_from_external_identity_provider>
                     Accept: application/jsonContent-Type: application/json
             Body:
             
                {
                  "name": [
                             {"value": "username"}
                     ],
                  "mail": [
                             {"value": "email"}
                     ],
                  "pass": [
                             {"value": "password"}
                     ],
                 "status": [
                             {"value": "1"}
                     ]
                }
          
             Sample curl Request Format-
             --location --request POST '<your_drupal_base_url>/entity/user?_format=json' \
             --header 'Accept: application/json' \
             --header 'Content-Type: application/json' \
             --header 'Token: ' \
             --data-raw   '   
              {
                 "name": [
                     {"value": "Username"}
                 ],
                 "mail": [
                     {"value": "email"}
                 ],
                 "pass": [
                     {"value": "Password"}
                 ],
                 "status": [
                     {"value": "1"}
                 ]
              }
     
             
  • 아래에 추가된 Postman 요청 이미지를 참조할 수 있습니다.
  • Drupal 타사 인증 요청
  • 성공적인 응답은 생성된 사용자 정보를 반환합니다.
  • Drupal 타사 인증 응답

24*7 적극적인 지원

문제가 발생하거나 질문이 있는 경우 언제든지 다음 주소로 문의해 주세요. drupalsupport@xecurify.com. 모듈에 일부 추가 기능을 포함시키려는 경우 당사에 연락하시면 맞춤 제작해 드릴 수 있습니다. 또한 원하시면 Drupal REST API 인증 모듈 구성을 돕기 위해 온라인 회의를 예약할 수도 있습니다.

추가 자료

우리의 다른 모듈

안녕하세요!

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

SUPPORT
miniOrange 지원팀에 문의하세요
성공

문의 해 주셔서 감사합니다.

24시간 이내에 연락을 받지 못한 경우 언제든지 다음 이메일로 후속 이메일을 보내주세요. info@xecurify.com