Как получить сведения о пользователе в веб-приложении Python, развернутом в Службе приложений Azure, аутентифицированномPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Как получить сведения о пользователе в веб-приложении Python, развернутом в Службе приложений Azure, аутентифицированном

Сообщение Anonymous »

Я создал веб-приложение с использованием пакета 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
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»