2017-05-03 22 views
1

Kong API Gateway를 사용하여 API에 액세스하기 위해 하나의 토큰을 얻기 위해 모든 API에 OAuth2 플러그인을 추가했습니다.클라이언트 자격증 명 흐름이있는 OAuth2 플러그인을 사용하여 Kong에서 하나의 토큰으로 여러 API에 액세스

내가 전화 할 때 : grant type, client idclient secret

는 API를 추가하는 저를 강제로 : 필수 필드 www.example.com/oauth2/tokenwww.example.com/apiendpoint/oauth2/토큰

생성 된 토큰은 특정 API에만 액세스 할 수 있습니다.

이 나는 ​​시도했다 :

www.example.com/apis/oauth2/token 
www.example.com/token 

뿐만 아니라 검토 최신 API 도스 : 일 https://getkong.org/docs/0.10.x/admin-api/ 어느 것도 있습니다.

하나의 토큰을 생성하여 모든 API에 액세스 할 수 있습니까? 그렇다면 어떻게해야합니까?

답변

1

오늘 홍콩에서는 불가능합니다. https://github.com/Mashape/kong/issues 호를 열어 Kong 커뮤니티에 요청을 공개 할 수 있습니다.

+0

건배 쿠퍼. 필자는 모든 API에 key-auth 플러그인을 설치하고 개별 엔드 포인트에 acl 플러그인을 설치하여이 문제를 해결할 수있었습니다. 한 키가 acl 그룹에 따라 여러 API에 액세스 할 수 있으므로 제대로 작동하는 것 같습니다. –

0

이 작업을 수행하는 사람들에게 적합합니다.

질문을 받았다 무엇을 달성하는 방법은 관리자 API에 게시물을하는 것입니다 :

$ curl -X POST http://kong:8001/oauth2_tokens \ 
    --data "api_id=API-ID" \ 
    --data "scope=SOME-SCOPE" \ 
    --data "credential_id=KONG-APPLICATION-ID" \ 
    --data "token_type=bearer" \ 
    --data "access_token=SOME-TOKEN" \ 
    --data "refresh_token=SOME-TOKEN" \ 
    --data "expires_in=3600" 

이 방법은 당신이 원하는 API를에 토큰을 설정할 수 있습니다.

KONG-APPLICATION-ID은/consumers/consumername/oauth2 API 지점에서 찾을 수 있습니다.

+0

이것은 작동해야하지만 모든 관련 API에 대해 모든 Kong 생성 토큰을 덮어 쓰기 때문에 해킹 방법입니다. –

+0

나는이 metod를 사용 중이며 기존 토큰은 그대로 유지됩니다. – Daniel