Drupal에서 API 키 인증 설정
API 키 인증은 Drupal API를 보호하는 간단하고 효과적인 방법을 제공합니다. 사용자용 API 키를 생성한 후, 이 키는 Drupal API에 대한 액세스를 관리하고 보호하는 고유 식별자 역할을 합니다. 인증을 위해 클라이언트는 각 요청의 Authorization 헤더에 사용자의 Drupal 사용자 이름과 API 키를 함께 전송해야 합니다. Drupal API 인증 모듈은 액세스를 허용하기 전에 이 조합을 확인합니다. 이 모듈은 Drupal 8, 9, 10, 11을 지원합니다.
- 작곡가 사용
- Drush 사용
- 수동 설치
사전 요구 사항 :
- REST UI: 이 모듈은 REST 모듈을 구성하기 위한 사용자 친화적인 인터페이스를 제공합니다.
- 다음 웹 서비스 모듈을 활성화하세요. 하다 Drupal 사이트의 섹션(/admin/modules):
- JSON:API
- REST UI
- RESTful 웹 서비스
- 직렬화
API 활성화 및 메서드 할당:
- 첫 번째 단계는 API를 활성화하고 해당 API에 허용되는 메서드와 작업을 할당하는 것입니다. 이 작업은 다음을 사용하여 수행할 수 있습니다. REST UI 모듈이나 Drupal 구성을 직접 수정하여 사용할 수 있습니다.
- 온 클릭 API 활성화 버튼을 클릭합니다.
- REST UI 모듈을 사용하여 API를 활성화하려면 다음을 클릭하세요. 구성 버튼(아래 그림 참조).
- 우리의 예에서 우리는 다음을 활성화해야 합니다. /엔티티/사용자 API입니다. 이를 위해 앞에 있는 '활성화' 옵션을 클릭하세요.
- 우리의 목표는 Drupal에서 사용자를 만드는 것이므로 다음 구성을 선택하세요.
- 방법 : POST
- 체재: JSON
- 인증 공급자: rest_api_인증
- 이렇게 하면 miniOrange API 인증 모듈이 API를 인증할 수 있습니다. 구성 저장 버튼을 계속합니다.
구성 단계
1. API 키 인증 방법 설정:
- 이 단계에서는 API 키를 생성합니다. 이를 위해 API 인증 모듈의 탭(/admin/config/people/rest_api_authentication/auth_settings).
- $XNUMX Million 미만 기본 구성, 활성화 인증 사용 비녀장.
- 입력 응용 프로그램 이름 선택 API 키 인사말 인증 방법 안내
- 아래로 스크롤하여 API 키 구성 같은 탭의 섹션.
- 드롭다운에서 인증 유형을 선택하세요.
- . 사용자 이름 입력 텍스트 필드에 API 키를 생성하려는 사용자 이름을 입력한 다음 클릭하십시오. 생성 버튼을 클릭합니다.
- API 키가 생성되면 다음을 클릭하세요. 구성 저장 페이지 하단의 버튼을 클릭하세요.
- 클릭 구성 저장 버튼을 클릭합니다.
- 모든 사용자에 대한 키를 생성하려면 다음을 클릭하세요. 모든 사용자를 위한 키 생성 버튼을 클릭합니다.
참고 : 이는 프리미엄 기능입니다. 무료 버전 모듈에서는 범용 키를 사용하여 인증을 처리합니다.
- API 키 인증 방법을 성공적으로 구성했습니다.
참고 : API를 인증할 때 애플리케이션별 고유 헤더를 사용합니다.
- 이제 생성된 API 키를 다음에서 볼 수 있습니다. API 키 사용자 프로필의 필드입니다.
- 최종 사용자가 API 키도 생성하도록 하려는 경우, 이미지에 표시된 대로 권한을 활성화하면 최종 사용자가 API 키 관리를 사용할 수 있습니다.
사용자 생성을 위한 역할 권한 부여
- 필요한 경우, 관리자가 아닌 Drupal 역할이 사용자를 생성하도록 허용할 수 있습니다. 이를 위해 Drupal 사이트의 권한 페이지(/admin/people/permissions)에서 원하는 역할에 관리자 권한을 할당하세요.
2. 예:
- 더 잘 이해하기 위해 Drupal의 사용자 생성 API에서 API 키 기반 인증을 사용하는 예를 살펴보겠습니다.
- Drupal에서 사용자를 생성하려면 사용자의 Drupal 사용자 이름과 miniOrange REST API 인증 모듈에서 발급한 API 키를 사용하여 POST 요청을 해야 합니다. 사용자 이름과 API 키는 Base64 형식으로 인코딩되어야 합니다. 아래 예시를 참조하여 호출하세요.
- 아래에 표시된 Postman 요청 이미지를 참조할 수도 있습니다.
참고 : Drupal의 /entity/user API는 새로운 사용자를 만드는 데 사용됩니다.
HTML 요청 형식-
요청: POST /엔티티/사용자?_포맷=json
머리글:
인증 방법: application_id
수락: application/json
콘텐츠 유형 : application / json
API 키: base64_encoded
(값은 username:api-key 형식으로 Base64로 인코딩되어야 합니다.)
신체:
{
"이름": {
"값": " "
},
"메일": {
"값": " "
},
"통과하다": {
"값": " "
},
"상태": {
"값": "1"
}
}
CURL 요청 형식-
curl --location --request POST ' /엔티티/사용자?_포맷=json' \
--헤더 '인증 방법: application_id' \
--header '수락: application/json' \
--header '콘텐츠 유형: application/json' \
--header '인증: 기본 base64 인코딩 ' \
--데이터-원시 '
{
"이름": [
{ "value": "사용자 이름" }
],
"메일": [
{ "값": "이메일" }
],
"통과하다": [
{ "value": "비밀번호" }
],
"상태": [
{ "값": "1" }
]
}
- 응답이 성공하면 생성한 사용자의 세부 정보가 반환됩니다(아래 이미지 참조).
축하합니다! Drupal API 인증 모듈을 사용하여 API 키 인증 방법을 성공적으로 설정했습니다.
구성이 성공적이지 않은 경우 다음 주소로 문의해 주세요. [email protected]오류 창의 스크린샷을 첨부해 주시면 문제 해결을 도와드리고 설정 과정을 안내해 드리겠습니다.
