Я создал веб-приложение с использованием пакета Python Dash и развернул это приложение в Службе приложений Azure. Веб-приложение в настоящее время проходит проверку подлинности через службу приложений портала Azure с использованием поставщика удостоверений Microsoft. Но как мне получить данные вошедшего пользователя? И как мне аутентифицировать свое веб-приложение при локальном запуске?
Мой текущий процесс входа в систему также является автоматическим перенаправлением, поэтому нет ни страницы входа, ни кнопки/параметра выхода из системы.
Я хочу войти в систему с данными пользователя, и это то, что я реализовал на данный момент:
authentication.py
import msal
import requests
authority = 'https://login.microsoftonline.com/'
scope = ["https://graph.microsoft.com/.default"]
client_id =
client_secret =
def authentication():
app = msal.ConfidentialClientApplication(
client_id,
authority=authority,
client_credential=client_secret
)
token_response = app.acquire_token_for_client(scopes=scope)
access_token = token_response['access_token']
headers = {
'Authorization': f'Bearer {access_token}'
}
response = requests.get(
'https://graph.microsoft.com/v1.0/me', headers=headers)
user_data = response.json()
print("~~~~~~~~~~~~~~~~~~~~~~")
for key, value in user_data.items():
print(f'{key}: {value}')
print("~~~~~~~~~~~~~~~~~~~~~~")
return
А это мой app.py, где я вызвал функцию аутентификации:
from functions.app import authentication
# other imports ...
stylesheets = [
"https://unpkg.com/@mantine/dates@7/styles.css",
"https://unpkg.com/@mantine/code-highlight@7/styles.css",
"https://unpkg.com/@mantine/charts@7/styles.css",
"https://unpkg.com/@mantine/carousel@7/styles.css",
"https://unpkg.com/@mantine/notifications@7/styles.css",
"https://unpkg.com/@mantine/nprogress@7/styles.css",
]
app = Dash(__name__, use_pages=True, external_stylesheets=stylesheets)
server = app.server
authentication.authentication()
app.layout = dmc.MantineProvider(
... # layout stuff
)
if __name__ == '__main__':
app.run_server(debug=True, port=8000)
Но вот что я получаю, когда запускаю веб-приложение Python Dash (python ./app.py):
{'error': {'code': 'BadRequest', 'message': '/me request is only valid with delegated authentication flow.', 'innerError': {'date': '2024-08-05T03:46:12', 'request-id': '', 'client-request-id': ''}}}
Подробнее здесь: https://stackoverflow.com/questions/788 ... ice-authen
Как получить сведения о пользователе в веб-приложении Python, развернутом в Службе приложений Azure, аутентифицированном ⇐ Python
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение