[英]How to configure users access to an API protected with Azure AD oAuth2
[英]Configure pgadmin4 to use Azure AD Oauth2
我正在嘗試增加使用 Azure AD Oauth2 登錄 pgadmin4 面板的可能性。 我在App registrations
中創建了應用程序,在Certificates & secrets
和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://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_URL
和OAUTH2_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
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.