Basic 인증 플러그인 - Kong 플러그인 돌리기
1. 다음 요청을 통해 서비스에 이 플러그인을 설정합니다.
$ curl -X POST http://kong:8001/services/{service}/plugins \
--data "name=basic-auth" \
--data "config.hide_credentials=true"
2. 라우팅에서 플러그인을 활성화하려면 다음과 같이 하십시오.
$ curl -X POST http://kong:8001/routes/{route_id}/plugins \
--data "name=basic-auth" \
--data "config.hide_credentials=true"
3. API에서 플러그인 활성화(API 관리는 0.13.0 버전에서 사용되지 않음)
$ curl -X POST http://kong:8001/apis/{api}/plugins \
--data "name=basic-auth" \
--data "config.hide_credentials=true"
모든 플러그인 사용 가능http://kong:8001/plugins/공통으로 구성됩니다.이것은 모든 서비스, 루트, 소비자와 무관한 플러그인으로 '공공적' 이며, 모든 요청에서 실행될 것입니다.다음은 basic-auth 플러그인 구성 가능한 매개 변수 목록입니다.
형식 매개 변수
기본값
묘사
name
플러그인 이름, 여기
basic-auth
service_id
플러그인 대상 서비스 ID
route_id
플러그인의 라우팅 ID
enabled
true
플러그인 사용 가능 여부
api_id
플러그인용 API 모듈
config.hide_credentials
옵션false
플러그인이 상위 서비스에서 증명서를 표시하거나 숨길 수 있는 부울 값을 선택할 수 있습니다."true"인 경우 플러그인은 프록시 이전에 요청에서 자격 증명을 분리합니다(예:
Authorization
헤드).config.anonymous
옵션신분 검증에 실패하면 이 값 (소비자 uid) 을 '익명' 사용자로 사용할 수 있는 문자열입니다.비어 있는 경우(기본값) 요청이 실패하면 인증 실패 "4xx"를 알립니다.이 값은 반드시 소비자
id
의 속성을 가리키는 것이지 그것custom_id
을 가리키는 것이 아니라는 것을 주의하십시오.일단 적용되면 유효한 자격 증명이 있는 모든 사용자가 Service/API에 액세스할 수 있습니다.일부 인증된 사용자만 제한하려면 ACL 플러그인을 추가하고 화이트리스트 또는 블랙리스트 사용자 그룹을 만들 수도 있습니다.
플러그인은 어떻게 사용합니까?
1. 소비자 만들기:
curl -d "username=user123&custom_id=SOME_CUSTOM_ID" http://kong:8001/consumers/
매개 변수
기본값
묘사
username 절반 옵션
username 또는 custom 을 만들어야 합니다.id 중 하나
custom_id 반 선택 가능
username 또는 custom 을 만들어야 합니다.id 중 하나
소비자는 많은 증거를 가지고 있을 수 있다.이 서비스의 ACL 플러그인과 화이트 리스트를 사용하고 있다면, 새 소비자를 화이트 리스트 그룹에 추가해야 합니다.
2. 자격 증명 만들기
다음 HTTP 요청을 실행하여 새 사용자 이름/암호 자격 증명을 제공할 수 있습니다.
$ curl -X POST http://kong:8001/consumers/{consumer}/basic-auth \
--data "username=Aladdin" \
--data "password=OpenSesame"
3. 사용 증명서
권한 수여 헤더는 베이스64 인코딩이어야 합니다.예를 들어 증빙 사용자가
Aladdin
, 비밀번호가 OpenSesame
라면 Aladdin:OpenSesame
의base64 인코딩, 즉 QWxhZGRpbjpPcGVuU2VzYW1l
이다.예를 들면 다음과 같습니다.$ curl http://kong:8000/{path matching a configured Route} \
-H 'Authorization: Basic QWxhZGRpbjpPcGVuU2VzYW1l'
4. 상류 머리
클라이언트가 인증을 거쳤을 때 플러그인은 이를 상위 서비스로 에이전트하기 전에 요청에 헤더 정보를 추가하여 코드에서 사용자를 식별할 수 있도록 합니다.
custom_id
(설정된 경우)username
(설정된 경우)username
(소비자가 anonymous
소비자가 아닐 때만)anonymous
소비자로 설정합니다.5.basic-auth증명서를 통해 페이지 나누기
$ curl -X GET http://kong:8001/basic-auths
등록 정보
묘사
id 선택 가능
basic-auth 인증 id
username 옵션
기본 사용자 이름 인증
consumer_id 선택 가능
A filter on the list based on the basic-auth credential consumer_id field.
크기 옵션, 기본 100
반환할 객체 수
offset 옵션
페이지 나누기 커서
6. 검색과 증빙서류와 관련된 소비자
curl -X GET http://kong:8001/basic-auths/{username or id}/consumer
셔틀버스: 오픈 소스 API 게이트웨이 시스템(Kong 튜토리얼)에서 마스터로 시작
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.