Key Auth

Protect an API with the Key Auth plugin and send the key in a header or in the query string.

episode
ตอนที่ 9 จาก 20
read
อ่าน 2 นาที

เราจะมาป้องกัน API ของเรากัน โดยเงื่อนไขคือถ้าอยากเข้ามาที่ /api จะต้องมี API Key ติดมาด้วยใน Header

Use Key Authentication plugin for route

เลือก plugin Key Authentication

เลื่อนลงมาด้านล่าง ถ้าอยากแก้ key name ก็แก้ตรงนี้ได้เลย ในที่นี้จะใช้ apikey นี่แหละ

ทีนี้ลองเข้าไปที่ localhost:8000/api

จะเจอว่ามันเข้าไม่ได้แล้ว

นั่นเป็นเพราะว่ามันโดน plugin Key Authentication ป้องกันไว้

Create consumer for Key Authentication

เราจะต้องมาสร้าง consumer ที่มี key auth ก่อน แล้วเอา key ที่ได้ไปใช้เพื่อเข้าถึง API ของเรา

ในที่นี้จะสร้าง consumer ใหม่เลย ชื่อว่า backend2

จิ้มไปเลย

เปิดมาที่ tab credential จะเห็นว่ามี menu Key Authentication เพิ่มขึ้นมาแล้ว

จากนั้นก็ใส่ key หรือถ้าไม่ใส่ Kong ก็จะ random มาให้ แล้วกด save ได้เลย

Use API key in Header

ทีนี้เราจะเรียกผ่าน browser ไม่ได้ละ เพราะต้องใส่ apikey

ก็จะมาเรียกผ่าน Hoppscotch แทน แล้วใส่ Header แบบนี้

Use API key in Query

ถ้าย้อนกลับไปดูที่ key auth plugin setting

จะเห็นว่าเราอนุญาตให้ใส่ key ที่ Header และ Query ได้

ฉนั้นจริงๆแล้วเราสามารถเปิดผ่าน browser ได้ด้วย

ลองแก้ url ให้เป็นแบบนี้

localhost:8000/api?apikey=12345678

จะเข้าได้แบบนี้