Basic Authentication
這個是個基礎的認證方式,服務端設置用戶和密碼,客戶端發送請求時在頭部設置用戶和密碼,服務端接收到以後對請求進行校驗,如果通過,則處理請求,否則返回401Unauthorized。
Kong實現Basic Authentication
-試驗的 前提
已經創建好了route和service,並且能正常訪問,如果沒有創建好的話,可以參考https://blog.csdn.net/u014686399/article/details/100084613,我的試驗也是基於這個前提的
- 對服務啓用插件
/services/2fc52878-1fe9-48ba-bc45-146da3822851/plugins POST
{
"name":"basic-auth"
}
- name字段裏的basic-auth是固定的,這個是插件的名字
- 2fc52878-1fe9-48ba-bc45-146da3822851 這是service的ID
- 當然你也可以通過,在route上啓用插件
curl -X POST http://kong:8001/routes/{route}/plugins \ --data "name=basic-auth" \ --data "config.hide_credentials=true"
- 創建consumer
consumers POST
{
"username":"xjj_user_01",
"custom_id":"users_001"
}
- 創建證書
/consumers/f4c713c0-6bf1-4079-83a0-135180d6ba53/basic-auth POST
{
"username":"rita",
"password":"123.com"
}
- f4c713c0-6bf1-4079-83a0-135180d6ba53 這是consumer的ID,不是 報文裏的consumer_id
- username 就是請求頭裏的用戶名,password就是請求頭裏的密碼
- 測試
無證書訪問,需要輸入用戶和密碼
輸入用戶和密碼
-如果你要是通過curl請求的話,要添加一個Authorization: Basic cml0YToxMjMuY29t這樣的請求頭
cml0YToxMjMuY29t 是吧 rita:123.com做了一個base64轉碼而成
先寫到這裏了,有問題進QQ羣630300475