Enabling OAUTH2 Authentication#
pgAdminのOAUTH2認証を有効にするには、pgAdminがサーバーモードでインストールされているシステムで config_local.py または config_system.py ファイル config.py ドキュメントを参照してください。これらの設定を config.py ファイルからコピーし、次のパラメーターの値を変更できます。
Parameter |
Description |
|---|---|
AUTHENTICATION_SOURCES |
このパラメータのデフォルト値は internal です。 OAUTH2認証を有効にするには、このパラメータの値のリストに oauth2 を含める必要があります。次のように値を変更できます。
|
OAUTH2_NAME |
Oauth2プロバイダーの名前 例 Google、Github |
OAUTH2_DISPLAY_NAME |
pgAdminのOauth2表示名 |
OAUTH2_CLIENT_ID |
Oauth2クライアントID |
OAUTH2_CLIENT_SECRET |
Oauth2クライアントシークレット |
OAUTH2_TOKEN_URL |
Oauth2アクセストークンエンドポイント |
OAUTH2_AUTHORIZATION_URL |
ユーザー承認のためのエンドポイント |
OAUTH2_SERVER_METADATA_URL |
OAuth2プロバイダーのサーバーメタデータURL |
OAUTH2_API_BASE_URL |
要求を簡単にするOauth2ベースURLエンドポイント、例 https://api.github.com/ |
OAUTH2_USERINFO_ENDPOINT |
ユーザーエンドポイント、例 user githubの場合、または user/emails ユーザーのメールアドレスがプライベートの場合 および userinfo googleの場合 |
OAUTH2_SCOPE |
Oauthスコープ、例 'openid email Profile'。結果のプロファイルでは、 'email'クレームが必要であることに注意してください。 |
OAUTH2_ICON |
oauth2ボタンに配置されるFont-awesomeアイコン、例fa-github |
OAUTH2_BUTTON_COLOR |
Oauth2ボタンの色 |
OAUTH2_USERNAME_CLAIM |
|
OAUTH2_AUTO_CREATE_USER |
|
OAUTH2_ADDITIONAL_CLAIMS |
|
OAUTH2_SSL_CERT_VERIFICATION |
|
OAUTH2_CHALLENGE_METHOD |
PKCEワークフローを有効にします。 PKCEメソッド名、 S256 のみがサポートされています |
OAUTH2_RESPONSE_TYPE |
PKCEワークフローを有効にします。 OAUTH2_CHALLENGE_METHODでは必須、 code に設定する必要があります |
リダイレクトURL#
Oauth2サーバーを構成するリダイレクトURLは次のとおりです。 <http/https>://<pgAdmin Server URL>/oauth2/authorize アプリケーションの承認が成功すると、承認サーバーはここで指定されたpgAdmin URLにユーザーをリダイレクトします。 pgAdminサーバーがhttpsプロトコルでサービスを提供する場合、httpsスキームを選択しますそれ以外の場合は、httpを選択します。
マスターパスワード#
マルチユーザーモードでは、pgAdminはユーザーのログインパスワードを使用してPostgreSQLサーバーパスワードを暗号化/復号化します。 Oauth2認証では、pgAdminはユーザーのパスワードを保存しないため、PostgreSQLサーバーパスワードを保存するための暗号化キーが必要です。これを行うには、構成パラメーターMASTER_PASSWORDを True に設定します。これにより、マスターパスワードを設定すると、パスワードを保存するときに暗号化キーとして使用されます。 Falseの場合、サーバーパスワードは保存できません。
ログインページ#
構成後、再起動すると、Oauth2ログインボタンを備えたログインページが表示されます。
PKCEワークフロー#
PKCEワークフローを有効にするには、構成パラメーターOAUTH2_CHALLENGE_METHODを S256 に設定し、OAUTH2_RESPONSE_TYPEを code に設定します。 PKCEワークフローを有効にするには、両方のパラメーターが必須です。