古いプラグインバージョンのドキュメントを閲覧しています。
Looking for the plugin's configuration parameters? You can find them in the Basic Authentication configuration reference doc.
ユーザー名とパスワード保護があるサービスまたはルートにBasic Authenticationを追加します。Proxy-AuthorizationとAuthorizationヘッダーの有効な認証情報のプラグインチェック(この順序で)。
使用法
プラグインを使用するには、まず、コンシューマを作成して1つ以上の認証情報を関連付ける必要があります。コンシューマは、アップストリームサービスを利用する開発者またはアプリケーションを表します。
コンシューマを作成
既存のコンシューマオブジェクトへの認証情報を関連付ける必要があります。コンシューマは多数の認証情報を持つことができます。
コンシューマパラメータ:
| パラメータ | 説明 |
|---|---|
username セミオプション
|
コンシューマのユーザー名。このフィールドかcustom_idのいずれかを指定する必要があります。 |
custom_id セミオプション
|
コンシューマを別のデータベースにマップするために使用されるカスタム識別子。このフィールドかusernameのいずれかを指定する必要があります。 |
このサービスでACLプラグインと許可リストも使用している場合、新しいコンシューマーを許可されたグループに追加する必要があります。詳細については、ACL:コンシューマの関連付けを参照してください。
認証情報を作成
コンシューマ認証情報パラメータ:
| フィールド/パラメータ | 説明 |
|---|---|
consumer |
認証情報を関連付けるためのコンシューマエンティティのidまたはusernameプロパティ。 |
username |
ベーシック認証の認証情報で使用するユーザー名。 |
password |
ベーシック認証の認証情報で使用するパスワード。 |
認証情報の使用
認証ヘッダーはbase64でエンコードされている必要があります。たとえば、認証情報でユーザー名としてAladdin、パスワードとしてOpenSesameが使用される場合、フィールド値はAladdin:OpenSesameのbase64エンコーディングまたはQWxhZGRpbjpPcGVuU2VzYW1lとなります。
Authorization (またはProxy-Authorization ) ヘッダーは次のように表示される必要があります。
Authorization: Basic QWxhZGRpbjpPcGVuU2VzYW1l
ヘッダーを使用してリクエストを行います。
curl http://kong:8000/{PATH_MATCHING_CONFIGURED_ROUTE} \
-H 'Authorization: Basic QWxhZGRpbjpPcGVuU2VzYW1l'
gRPCクライアントもサポートされています。
grpcurl -H 'Authorization: Basic QWxhZGRpbjpPcGVuU2VzYW1l' ...
アップストリームヘッダー
クライアントが認証されると、プラグインはアップストリームサービスにプロキシする前にリクエストへいくつかのヘッダーを追加し、以下のコードでコンシューマを識別できるようにします。
-
X-Consumer-ID: Kong内のコンシューマのID。 -
X-Consumer-Custom-ID: コンシューマのcustom_id(設定されている場合)。 -
X-Consumer-Username: コンシューマのusername(設定されている場合)。 -
X-Credential-Identifier: 認証情報の識別子(コンシューマがanonymousコンシューマでない場合にのみ)。 -
X-Anonymous-Consumer: 認証に失敗した場合はtrueに設定され、代わりにanonymousコンシューマが設定されます。
この情報を利用して、追加のロジックを実装することができます。X-Consumer-ID値を使用してKong Admin APIのクエリを実行し、コンシューマについての詳細な情報を取得できます。
basic-auth認証情報を介したページ番号付け
次のリクエストを使用して、すべてのコンシューマのbasic-auth認証情報を開始ページ番号を付けることができます。
次のエンドポイントを使用して、コンシューマ別にリストをフィルタリングできます。
usernameまたはid : 認証情報が一覧表示される必要のあるコンシューマのユーザー名またはID。
認証情報に関連付けられているコンシューマを取得
次のリクエストを使用して、basic-auth認証情報に関連するコンシューマを取得するのは可能です。
username or id:関連付けられたコンシューマを取得するbasic-auth認証情報のidまたはusernameプロパティ。ここで許可されるusernameは、コンシューマのusernameプロパティでは ない ことにご留意ください。