Basic 인증 플러그인 - Kong 플러그인 돌리기

3630 단어
플러그인은 어떻게 사용합니까?
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-authservice_id
플러그인 대상 서비스 IDroute_id
플러그인의 라우팅 IDenabled 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. 상류 머리
클라이언트가 인증을 거쳤을 때 플러그인은 이를 상위 서비스로 에이전트하기 전에 요청에 헤더 정보를 추가하여 코드에서 사용자를 식별할 수 있도록 합니다.
  • X-Consumer-ID, 소비자 ID
  • X-Consumer-Custom-ID, 소비자의custom_id(설정된 경우)
  • X-Consumer-Username, 소비자의username(설정된 경우)
  • X-Credential-Username, 인증서의username(소비자가 anonymous소비자가 아닐 때만)
  • X-Anonymous-Consumer는 신분 검증에 실패할 때true로 설정하고 대신 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 튜토리얼)에서 마스터로 시작

    좋은 웹페이지 즐겨찾기