8000 Starting from 4.15.0 - <Request POST /api/messages > has failed with exception: KeyError('access_token') · Issue #2105 · microsoft/botbuilder-python · GitHub
[go: up one dir, main page]

Skip to content
Starting from 4.15.0 - <Request POST /api/messages > has failed with exception: KeyError('access_token') #2105
Open
@vadym-kovryzhkin

Description

@vadym-kovryzhkin

Version

4.15.0

Describe the bug

Starting from 4.15.0 version, when using MicrosoftAppCredentials(CONFIG.APP_ID, CONFIG.APP_PASSWORD).get_access_token() to send request to bot - now fails with <Request POST /api/messages > has failed with exception: KeyError('access_token').

In 4.14.8 and below - it works fine.

To Reproduce

Steps to reproduce the behavior:

  1. Start bot locally
  2. Get token and send POST request to the bot
import requests
from botframework.connector.auth import MicrosoftAppCredentials

from config import CONFIG

creds = MicrosoftAppCredentials(CONFIG.APP_ID, CONFIG.APP_PASSWORD)
access_token = creds.get_access_token()

BOT_ENDPOINT = f"http://0.0.0.0:{CONFIG.PORT}/api/messages"
requests.post(BOT_ENDPOINT, json=data, headers={"Authorization": f"Bearer {access_token}"})

  1. See bot logs
Traceback (most recent call last):
  File "/Users/someuser/someproj/venv/lib/python3.10/site-packages/botbuilder/core/bot_adapter.py", line 174, in run_pipeline
    return await self._middleware.receive_activity_with_status(
  File "/Users/someuser/someproj/venv/lib/python3.10/site-packages/botbuilder/core/middleware_set.py", line 69, in receive_activity_with_status
    return await self.receive_activity_internal(context, callback)
  File "/Users/someuser/someproj/venv/lib/python3.10/site-packages/botbuilder/core/middleware_set.py", line 79, in receive_activity_internal
    return await callback(context)
  File "/Users/someuser/someproj/venv/lib/python3.10/site-packages/botbuilder/core/activity_handler.py", line 70, in on_turn
    await self.on_message_activity(turn_context)
  File "/Users/someuser/someproj/app/bot/teams_conversation_bot.py", line 51, in on_message_activity
    await self._text_message_handler.process_message(turn_context, text)
  File "/Users/someuser/someproj/app/bot/handlers/text_message_handler.py", line 22, in process_message
    await self._ms_teams_service.send_error_message(**locals())
  File "/Users/someuser/someproj/app/bot/services/ms_teams_service.py", line 187, in send_error_message
    await local_vars["turn_context"].send_activity(
  File "/Users/someuser/someproj/venv/lib/python3.10/site-packages/botbuilder/core/turn_context.py", line 173, in send_activity
    result = await self.send_activities([activity_or_text])
  File "/Users/someuser/someproj/venv/lib/python3.10/site-packages/botbuilder/core/turn_context.py", line 225, in send_activities
    return await self._emit(self._on_send_activities, output, logic())
  File "/Users/someuser/someproj/venv/lib/python3.10/site-packages/botbuilder/core/turn_context.py", line 303, in _emit
    return await logic
  File "/Users/someuser/someproj/venv/lib/python3.10/site-packages/botbuilder/core/turn_context.py", line 220, in logic
    responses = await self.adapter.send_activities(self, output)
  File "/Users/someuser/someproj/venv/lib/python3.10/site-packages/botbuilder/core/bot_framework_adapter.py", line 726, in send_activities
    raise error
  File "/Users/someuser/someproj/venv/lib/python3.10/site-packages/botbuilder/core/bot_framework_adapter.py", line 711, in send_activities
    response = await client.conversations.reply_to_activity(
  File "/Users/someuser/someproj/venv/lib/python3.10/site-packages/botframework/connector/aio/operations_async/_conversations_operations_async.py", line 523, in reply_to_activity
    response = await self._client.async_send(
  File "/Users/someuser/someproj/venv/lib/python3.10/site-packages/msrest/async_client.py", line 115, in async_send
    pipeline_response = await self.config.pipeline.run(request, **kwargs)
  File "/Users/someuser/someproj/venv/lib/python3.10/site-packages/msrest/pipeline/async_abc.py", line 159, in run
    return await first_node.send(pipeline_request, **kwargs)  # type: ignore
  File "/Users/someuser/someproj/venv/lib/python3.10/site-packages/msrest/pipeline/async_abc.py", line 79, in send
596D

    response = await self.next.send(request, **kwargs)  # type: ignore
  File "/Users/someuser/someproj/venv/lib/python3.10/site-packages/msrest/pipeline/async_requests.py", line 99, in send
    self._creds.signed_session(session)
  File "/Users/someuser/someproj/venv/lib/python3.10/site-packages/botframework/connector/auth/app_credentials.py", line 92, in signed_session
    auth_token = self.get_access_token()
  File "/Users/someuser/someproj/venv/lib/python3.10/site-packages/botframework/connector/auth/microsoft_app_credentials.py", line 54, in get_access_token
    return auth_token["access_token"]
KeyError: 'access_token'
WARNING:root:Request <Request POST /api/messages > has failed with exception: KeyError('access_token')

Expected behavior

The request is received by the bot without any errors, as it was in 4.14.8 and below, without token issue

Metadata

Metadata

Assignees

No one assigned

    Labels

    NEXTbugIndicates an unexpected problem or an unintended behavior.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions

      0