簡體   English   中英

配置 pgadmin4 以使用 Azure AD Oauth2

[英]Configure pgadmin4 to use Azure AD Oauth2

我正在嘗試增加使用 Azure AD Oauth2 登錄 pgadmin4 面板的可能性。 我在App registrations中創建了應用程序,在Certificates & secretsconfig_local.py中創建了秘密我有如下設置:

    MASTER_PASSWORD_REQUIRED = True
    AUTHENTICATION_SOURCES = ['oauth2', 'internal']
    OAUTH2_AUTO_CREATE_USER = True
    OAUTH2_CONFIG = [
      {
          'OAUTH2_NAME': 'azure',
          'OAUTH2_DISPLAY_NAME': 'azure',
          'OAUTH2_CLIENT_ID': 'Application (client) ID',
          'OAUTH2_CLIENT_SECRET': '{SECRET_VALUE}',
          'OAUTH2_TOKEN_URL': 'https://login.microsoftonline.com/{TENANT_ID}/oauth2/v2.0/token',
          'OAUTH2_AUTHORIZATION_URL': 'https://login.microsoftonline.com/{TENANT_ID}/oauth2/v2.0/authorize',
          'OAUTH2_API_BASE_URL': 'https://login.microsoftonline.com/{TENANT_ID}/oauth2/v2.0/authorize',
          'OAUTH2_USERINFO_ENDPOINT': 'userinfo',
          'OAUTH2_BUTTON_COLOR': '#0000ff',
      }
    ]

我的登錄頁面上有一個選項可以使用 azure 登錄面板,但是當我使用 go 時,我得到:

AADSTS70011: The provided request must include a 'scope' input parameter. The provided value for the input parameter 'scope' is not valid. The scope email profile is not valid. openid scope is required.

我應該從哪里獲取 scope?

如果您錯過了包括范圍或提供了無效范圍,則通常會發生錯誤AADSTS70011

您可以為 Azure AD 應用程序添加這些范圍,如下所示:

Go to Azure Portal -> Azure Active Directory -> App registration -> Your App -> API permissions -> Add a permission

在此處輸入圖像描述

更新:

根據查詢,您需要添加它們之間有空格的范圍作為OAUTH2_SCOPE參數的值。

假設如果您嘗試讀取用戶配置文件,則需要包括“User.Read” ,如下所示:

 'OAUTH2_SCOPE': 'User.Read openid email profile' 

除此之外,您還需要更改OAUTH2_API_BASE_URLOAUTH2_USERINFO_ENDPOINT值,如下所示,因為Azure是您的提供者:

'OAUTH2_API_BASE_URL': 'https://graph.microsoft.com/v1.0/', // Oauth 基礎 url

'OAUTH2_USERINFO_ENDPOINT': 'me', // 端點名稱

要解決該錯誤,您需要修改config_local.py文件設置,如下所示:

    MASTER_PASSWORD_REQUIRED = True
    AUTHENTICATION_SOURCES = ['oauth2', 'internal']
    OAUTH2_AUTO_CREATE_USER = True
    OAUTH2_CONFIG = [
      {
          'OAUTH2_NAME': 'azure',
          'OAUTH2_DISPLAY_NAME': 'azure',
          'OAUTH2_CLIENT_ID': 'Application (client) ID',
          'OAUTH2_CLIENT_SECRET': '{SECRET_VALUE}',
          'OAUTH2_TOKEN_URL': 'https://login.microsoftonline.com/{TENANT_ID}/oauth2/v2.0/token',
          'OAUTH2_AUTHORIZATION_URL': 'https://login.microsoftonline.com/{TENANT_ID}/oauth2/v2.0/authorize',
          'OAUTH2_API_BASE_URL': 'https://graph.microsoft.com/v1.0/',
          'OAUTH2_USERINFO_ENDPOINT': 'me',
          'OAUTH2_SCOPE': 'User.Read openid email profile' //Make sure to add User.Read in Portal too
          'OAUTH2_BUTTON_COLOR': '#0000ff',
      }
    ]

確保在 Azure AD 應用程序中將重定向 URL添加為https://<your pgAdmin Server URL>/oauth2/authorize

信用: 如何在 pgAdmin4 中使用 Azure AD 配置 OAuth 2.0 | 由阿斯米塔·塔普利亞爾

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM