Version: 2.8.1
Basic Authentication
#
用途說明可於服務或路由加上基礎驗證,在傳送請求時帶上 Proxy-Authorization
或 Authorization
標頭,內容為設定設定之使用者名稱及密碼。
#
欄位配置說明變數 | 類型 | 預設值 | 說明 | 必填 |
---|---|---|---|---|
hide_credentials | boolean | false | 此欄位決定將請求往後送至服務時是否帶上原本的驗證標頭內容。 設定為 true 時,插件會把驗證內容(i.e. Authorization 標頭)自請求移除。 | V |
anonymous | string | 可設定 anonymous 使用者在驗證失敗時會使用此身份當作匿名用戶。 若此欄位為空,則當執行請求的身份認證時失敗時,會收到身份驗證失敗 4xx 的回應。 *要注意的是,此欄位需填入的是 consumer 本身之 id,而不是 custom_id 。 |
#
用法示例#
在全局啟用插件- 從網站左邊 Menu 中
外掛插件
頁面中,點選右上角的新增外掛插件
:
- 點選後,選擇
認證
頁籤,並啟用 Basic Auth,填寫內容參考欄位配置說明,設定成功後,任何請求(不分服務、路由、用戶)皆需經過認證才能通過。
#
在服務端上啟用插件- 從網站左邊 Menu 中
服務 > 服務列表
頁面中,選擇要啟用此插件的服務,假設為google
,點選對應的編輯按鈕:
- 在編輯畫面中,點選上方的
外掛插件
頁籤,再點選頁籤內容上方的新增外掛插件
按鈕:
點選後,選擇 認證
頁籤,並啟用 Basic Auth,填寫內容參考欄位配置說明,設定成功後,僅有此服務(範例為 google
)請求需經過認證才能通過。
#
在路由端上啟用插件可以由兩種方式來選擇路由,並啟用插件:
#
方式一:路由列表- 從網站左邊 Menu 中
服務 > 路由列表
頁面中,選擇要啟用此插件的路由,假設為google
,點選對應的編輯按鈕:
#
方式二:服務 > 服務列表 > 路由列表- 從網站左邊 Menu 中
服務 > 服務列表
頁面中,選擇要啟用此插件的路由 所屬之服務(假設為google
),點選對應的編輯按鈕。
在編輯畫面中,點選上方的 路由
頁籤,選擇要啟用此插件的路由(假設為 google
),點選對應的編輯按鈕:
- 承第1步,點擊上述兩種方式之一的編輯按鈕後,在編輯畫面中,點選上方的
外掛插件
頁籤,再點選頁籤內容上方的新增外掛插件
按鈕:
點選新增外掛插件
按鈕後,選擇 認證
頁籤,並啟用 Basic Auth,填寫內容參考欄位配置說明,設定成功後,僅有此路由(範例為google
)請求需經過認證才能通過。
#
建立使用者及憑證從網站左邊 Menu 中
訂閱用戶 > 用戶列表
頁面中選擇右上方新增
按鈕,新增用戶。選擇剛建立的使用者,進入編輯頁面,選擇上方
憑證
頁籤,然後選擇左邊Basic Authentication
頁籤,再選擇列表左上方的新增
按鈕。
- 填入代表此用戶的用戶名稱及密碼並送出,在此填入
Test
及testing
做為範例。
#
驗證選擇一路由開啟此插件服務,並建立好使用者及憑證 (範例將路由之域名 (hosts) 設定為
google
,路徑 (paths) 設定為/index
,並開啟拆分路徑
(strip path))。此時在 console 上送出以下指令:
會得到以下回應
代表插件正常運作,並阻擋未通過驗證之請求。
- 如果帶入
Authorization
之標頭,並把剛剛建立的用戶名稱及密碼 (Test:testing) 經過Base64
格式做 encode,可得到 VGVzdDp0ZXN0aW5n
此時送出以下指令:
即可得到正常的回應。