- vừa được xem lúc

Authentication request using Kong API gateway

0 0 17

Người đăng: LDT

Theo Viblo Asia

1. Giới thiệu vấn đề

Mình đã và đang sử dụng Kong làm API gateway cho các hệ thống của bên mình, search thử trên viblo cũng có khá nhiều bài trên này viết vể Kong, nhưng chủ yếu làm API gateway, chưa thấy bài nào viết về chức năng authentication của nó. Bài này hướng dẫn bạn config authentication trong Kong, tính năng này khá thú vị, sẽ có 1 số cases áp dụng được.

2. Cài đặt Kong và Authentication

2.1. Cài đặt Kong, KongA

Có rất nhiều bài tương tự về chủ để này, cho đơn giản mình sẽ tạo 1 file docker-compose để cài Kong.

2.2. Tạo Routes, Services

Chúng ta có thể dùng API của Kong để tạo các Routes và services, nhưng trong bài này mình hướng dẫn sử dụng KongA (UI tool). Xem các bước hướng dẫn ở https://github.com/ledangtuanbk/kong-konga-postgres-docker-compose

2.3. Cài đặt Authentication

Đây chính là nội dung chính của bài viết. Có khá nhiều Authentication method hỗ trợ bởi Kong. Chúng ta có thể set authentication cho route hay service

2.3.1. Basic Authentication

Xem định nghĩa ở đây

2.3.1.1. Cài đặt

Sử dụng username/password để authentication. Xem cách cài đặt ở đây

2.3.1.1. Các trường hợp áp dụng

  • Khi bạn cung cấp API cho bên khác sử dụng, chúng ta không thể để API Public được, thay vì việc chúng ta tạo credential và quản lý nó thì chúng ta sẽ quản lý nó ở tầng API gateway. Giảm tải logic cho service.

2.3.2. Key Authentication

Xem định nghĩa ở đây

2.3.2.1. Cài đặt

Sử dụng key để authentication. Xem cách cài đặt ở đây Hệ thống sẽ tạo ra 1 key, và yêu cầu client thêm nó vào header để authentication.

2.3.2.2. Các trường hợp áp dụng

Tương tự Basic Authentication, key này có thể revoke nếu như không muốn cho phép sử dụng nó tiếp.

2.3.3. HMAC Authentication

Xem định nghĩa ở đây

2.3.3.1. Cài đặt

Sử dụng HMAC data để authentication. Xem cách cài đặt ở đây Thuật toán này khá phức tạp, để đảm bảo toàn vẹn dữ liệu, nó tăng tính bảo mật nhưng cũng tốn thời gian để cài đặt.

2.3.3.2. Các trường hợp áp dụng

Áp dụng cho các hệ thống yêu cầu tính bảo mật cao, đảm bảo data không bị thay đổi trong quá trình truyền, token cũng chỉ sử dụng trong thời gian ngắn.

2.3.4. JWT Authentication

2.3.4.1. Cài đặt

Sử dụng JWT Authentication. Xem cách cài đặt ở đây

2.3.4.2. Các trường hợp áp dụng

Sử dụng để verify request ở tầng API gateway, giảm tải cho ứng dụng.

3. Kết Luận

Tùy từng trường hợp, mình sẽ chọn loại authentication phù hợp

Link Sourcecode

Bình luận

Bài viết tương tự

- vừa được xem lúc

Tập tành Microservices với Kong API Gateway và Docker-compose

Tiếp tục chuỗi tìm hiểu về Kubernetes - Microservices archiecture, thành phần quan trọng nhất trong khối microservices theo mình nghĩ có lẽ là API Gateway, vì vậy bài viết hôm nay chúng ta cùng tìm hi

0 0 787

- vừa được xem lúc

Kong Gateway là gì? Dùng Kong Gateway triển khai API Gateway cho hệ thống Microservices

API Gateway là gì? Tại sao hệ thống microservices lại cần API Gateway. . API Gateway. .

0 0 40

- vừa được xem lúc

Tập tành Microservices với Kong API Gateway và Docker-compose

Tiếp tục chuỗi tìm hiểu về Kubernetes - Microservices archiecture, thành phần quan trọng nhất trong khối microservices theo mình nghĩ có lẽ là API Gateway, vì vậy bài viết hôm nay chúng ta cùng tìm hi

0 0 787