подписался эта документация https://learn.microsoft.com/en-us/azure ... 2%2Ccsharp
настроил ресурс бота MultiTenant (боты, написанные на Python, не работают с типом приложения UserAssignedMSI, и мне также не удалось запустить его с помощью SingleTenant), включая соединение OAuth (протестировано и работает как с AAD, так и с AAD v2):
настроил регистрацию приложения, включая разрешения API и URI перенаправления
Я проверил регистрацию своего приложения, вызвав его напрямую, и это так. работают безупречно, возвращая ответ 200 и доступ токен:
В VS Code У меня питон 3.11 венв. Я успешно запускаю свое веб-приложение бота и открываю его в эмуляторе, также предоставляя идентификатор приложения и секрет клиента:
Однако, когда поток начинает выполнять логику аутентификации, я получаю эту ошибку в консоли, по сути говоря, что-то не авторизовано. На данный момент я в замешательстве и не имею дальнейших идей, как это отладить, учитывая, что мои ресурсы и конфигурации настроены правильно. Я работаю в клиенте клиента, где у меня есть роль участника, и я создал все указанные ресурсы самостоятельно. Возможно ли, что администратору нужно что-то авторизовать? Чего мне не хватает?
[on_turn_error] unhandled error: Operation returned an invalid status code 'Unauthorized'
Traceback (most recent call last):
File "working_dir\.venv\Lib\site-packages\botbuilder\core\bot_adapter.py", line 174, in run_pipeline
return await self._middleware.receive_activity_with_status(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "working_dir\.venv\Lib\site-packages\botbuilder\core\middleware_set.py", line 69, in receive_activity_with_status
return await self.receive_activity_internal(context, callback)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "working_dir\.venv\Lib\site-packages\botbuilder\core\middleware_set.py", line 79, in receive_activity_internal
return await callback(context)
^^^^^^^^^^^^^^^^^^^^^^^
File "working_dir\bot\bots\dialog_bot.py", line 31, in on_turn
await super().on_turn(turn_context)
File "working_dir\.venv\Lib\site-packages\botbuilder\core\activity_handler.py", line 70, in on_turn
await self.on_message_activity(turn_context)
File "working_dir\bot\bots\dialog_bot.py", line 38, in on_message_activity
await DialogHelper.run_dialog(
File "working_dir\bot\helpers\dialog_helper.py", line 16, in run_dialog
await dialog_context.begin_dialog(dialog.id)
File "working_dir\.venv\Lib\site-packages\botbuilder\dialogs\dialog_context.py", line 121, in begin_dialog
return await dialog.begin_dialog(self, options)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "working_dir\.venv\Lib\site-packages\botbuilder\dialogs\component_dialog.py", line 67, in begin_dialog
turn_result = await self.on_begin_dialog(inner_dc, options)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "working_dir\bot\dialogs\logout_dialog.py", line 21, in on_begin_dialog
return await super().on_begin_dialog(inner_dc, options)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "working_dir\.venv\Lib\site-packages\botbuilder\dialogs\component_dialog.py", line 221, in on_begin_dialog
return await inner_dc.begin_dialog(self.initial_dialog_id, options)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "working_dir\.venv\Lib\site-packages\botbuilder\dialogs\dialog_context.py", line 121, in begin_dialog
return await dialog.begin_dialog(self, options)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "working_dir\.venv\Lib\site-packages\botbuilder\dialogs\waterfall_dialog.py", line 64, in begin_dialog
return await self.run_step(dialog_context, 0, DialogReason.BeginCalled, None)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "working_dir\.venv\Lib\site-packages\botbuilder\dialogs\waterfall_dialog.py", line 154, in run_step
return await self.on_step(step_context)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "working_dir\.venv\Lib\site-packages\botbuilder\dialogs\waterfall_dialog.py", line 130, in on_step
return await self._steps[step_context.index](step_context)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "working_dir\bot\dialogs\main_dialog.py", line 51, in prompt_step
return await step_context.begin_dialog(OAuthPrompt.__name__)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "working_dir\.venv\Lib\site-packages\botbuilder\dialogs\dialog_context.py", line 121, in begin_dialog
return await dialog.begin_dialog(self, options)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "working_dir\.venv\Lib\site-packages\botbuilder\dialogs\prompts\oauth_prompt.py", line 168, in begin_dialog
output = await _UserTokenAccess.get_user_token(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "working_dir\.venv\Lib\site-packages\botbuilder\dialogs\_user_token_access.py", line 27, in get_user_token
return await user_token_client.get_user_token(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "working_dir\.venv\Lib\site-packages\botframework\connector\auth\_user_token_client_impl.py", line 44, in get_user_token
result = await self._client.user_token.get_token(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "working_dir\.venv\Lib\site-packages\botframework\connector\token_api\aio\operations_async\_user_token_operations_async.py", line 100, in get_token
raise models.ErrorResponseException(self._deserialize, response)
botframework.connector.token_api.models._models_py3.ErrorResponseException: Operation returned an invalid status code 'Unauthorized'
Datetime with no tzinfo will be considered UTC.
попробовал войти в систему через эмулятор бота и получил ответ «Несанкционировано».. Это происходит еще до того, как отображается диалоговое окно входа в систему.
Мне нужна помощь в реализации аутентификации AAD в проекте платформы бота с помощью Python SDK. Что я сделал: [list][*]клонировал этот образец https://github.com/microsoft/BotBuilder-Samples/tree/main/samples/python/24.bot-authentication-msgraph [*]подписался эта документация https://learn.microsoft.com/en-us/azure/bot-service/bot-builder-authentication?view=azure-bot-service-4.0&tabs=multitenant%2Caadv2%2Ccsharp настроил ресурс бота MultiTenant (боты, написанные на Python, не работают с типом приложения UserAssignedMSI, и мне также не удалось запустить его с помощью SingleTenant), включая соединение OAuth (протестировано и работает как с AAD, так и с AAD v2): [img]https://i.sstatic.net/itp1i9cj. png[/img] [*]настроил регистрацию приложения, включая разрешения API и URI перенаправления [img]https://i.sstatic.net/nudUE60P.png[/img] [img]https://i.sstatic.net/Uux502ED.png[/img] [/list]
Я проверил регистрацию своего приложения, вызвав его напрямую, и это так. работают безупречно, возвращая ответ 200 и доступ токен: [img]https://i.sstatic.net/Gk9bFOQE.png[/img]
В VS Code У меня питон 3.11 венв. Я успешно запускаю свое веб-приложение бота и открываю его в эмуляторе, также предоставляя идентификатор приложения и секрет клиента: [img]https://i.sstatic.net/ AtEiRu8J.png[/img] Однако, когда поток начинает выполнять логику аутентификации, я получаю эту ошибку в консоли, по сути говоря, что-то не авторизовано. На данный момент я в замешательстве и не имею дальнейших идей, как это отладить, учитывая, что мои ресурсы и конфигурации настроены правильно. Я работаю в клиенте клиента, где у меня есть роль участника, и я создал все указанные ресурсы самостоятельно. Возможно ли, что администратору нужно что-то авторизовать? Чего мне не хватает? [code] [on_turn_error] unhandled error: Operation returned an invalid status code 'Unauthorized' Traceback (most recent call last): File "working_dir\.venv\Lib\site-packages\botbuilder\core\bot_adapter.py", line 174, in run_pipeline return await self._middleware.receive_activity_with_status( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "working_dir\.venv\Lib\site-packages\botbuilder\core\middleware_set.py", line 69, in receive_activity_with_status return await self.receive_activity_internal(context, callback) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "working_dir\.venv\Lib\site-packages\botbuilder\core\middleware_set.py", line 79, in receive_activity_internal return await callback(context) ^^^^^^^^^^^^^^^^^^^^^^^ File "working_dir\bot\bots\dialog_bot.py", line 31, in on_turn await super().on_turn(turn_context) File "working_dir\.venv\Lib\site-packages\botbuilder\core\activity_handler.py", line 70, in on_turn await self.on_message_activity(turn_context) File "working_dir\bot\bots\dialog_bot.py", line 38, in on_message_activity await DialogHelper.run_dialog( File "working_dir\bot\helpers\dialog_helper.py", line 16, in run_dialog await dialog_context.begin_dialog(dialog.id) File "working_dir\.venv\Lib\site-packages\botbuilder\dialogs\dialog_context.py", line 121, in begin_dialog return await dialog.begin_dialog(self, options) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "working_dir\.venv\Lib\site-packages\botbuilder\dialogs\component_dialog.py", line 67, in begin_dialog turn_result = await self.on_begin_dialog(inner_dc, options) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "working_dir\bot\dialogs\logout_dialog.py", line 21, in on_begin_dialog return await super().on_begin_dialog(inner_dc, options) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "working_dir\.venv\Lib\site-packages\botbuilder\dialogs\component_dialog.py", line 221, in on_begin_dialog return await inner_dc.begin_dialog(self.initial_dialog_id, options) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "working_dir\.venv\Lib\site-packages\botbuilder\dialogs\dialog_context.py", line 121, in begin_dialog return await dialog.begin_dialog(self, options) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "working_dir\.venv\Lib\site-packages\botbuilder\dialogs\waterfall_dialog.py", line 64, in begin_dialog return await self.run_step(dialog_context, 0, DialogReason.BeginCalled, None) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "working_dir\.venv\Lib\site-packages\botbuilder\dialogs\waterfall_dialog.py", line 154, in run_step return await self.on_step(step_context) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "working_dir\.venv\Lib\site-packages\botbuilder\dialogs\waterfall_dialog.py", line 130, in on_step return await self._steps[step_context.index](step_context) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "working_dir\bot\dialogs\main_dialog.py", line 51, in prompt_step return await step_context.begin_dialog(OAuthPrompt.__name__) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "working_dir\.venv\Lib\site-packages\botbuilder\dialogs\dialog_context.py", line 121, in begin_dialog return await dialog.begin_dialog(self, options) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "working_dir\.venv\Lib\site-packages\botbuilder\dialogs\prompts\oauth_prompt.py", line 168, in begin_dialog output = await _UserTokenAccess.get_user_token( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "working_dir\.venv\Lib\site-packages\botbuilder\dialogs\_user_token_access.py", line 27, in get_user_token return await user_token_client.get_user_token( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "working_dir\.venv\Lib\site-packages\botframework\connector\auth\_user_token_client_impl.py", line 44, in get_user_token result = await self._client.user_token.get_token( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "working_dir\.venv\Lib\site-packages\botframework\connector\token_api\aio\operations_async\_user_token_operations_async.py", line 100, in get_token raise models.ErrorResponseException(self._deserialize, response) botframework.connector.token_api.models._models_py3.ErrorResponseException: Operation returned an invalid status code 'Unauthorized' Datetime with no tzinfo will be considered UTC. [/code] [list] [*]попробовал войти в систему через эмулятор бота и получил ответ «Несанкционировано».. Это происходит еще до того, как отображается диалоговое окно входа в систему. [/list]
Мне нужна помощь в реализации аутентификации AAD в проекте платформы бота с помощью Python SDK.
Что я сделал:
клонировал этот образец
подписался эта документация
настроил ресурс бота MultiTenant (боты, написанные на Python, не работают с типом...
У меня есть бот-приложение, созданное с помощью Bot Framework SDK на Python, которое отлично работает с MicrosoftAppType: MultiTenant. Однако когда я пытаюсь настроить его для использования MicrosoftAppType: UserAssignedMSI, боту не удается...
У меня есть бот-приложение, созданное с помощью Bot Framework SDK на Python, которое отлично работает с MicrosoftAppType: MultiTenant. Однако когда я пытаюсь настроить его для использования MicrosoftAppType: UserAssignedMSI, боту не удается...
Я новичок в торговле Algo и пытаюсь получить информацию об учетной записи, используя API учетной записи Kucoin. Когда я запускаю код, я получаю следующую проблему:...