Esempio n. 1
0
    async def _create_token_api_client(
        self,
        context: TurnContext,
        oauth_app_credentials: AppCredentials = None,
    ) -> TokenApiClient:
        if (not self._is_emulating_oauth_cards
                and context.activity.channel_id == "emulator" and await
                self._credential_provider.is_authentication_disabled()):
            self._is_emulating_oauth_cards = True

        app_id = self.__get_app_id(context)
        scope = context.turn_state[BotAdapter.BOT_OAUTH_SCOPE_KEY]
        app_credentials = oauth_app_credentials or await self.__get_app_credentials(
            app_id, scope)

        if (not self._is_emulating_oauth_cards
                and context.activity.channel_id == "emulator" and await
                self._credential_provider.is_authentication_disabled()):
            self._is_emulating_oauth_cards = True

        # TODO: token_api_client cache

        url = self.__oauth_api_url(context)
        client = TokenApiClient(app_credentials, url)
        client.config.add_user_agent(USER_AGENT)

        if self._is_emulating_oauth_cards:
            # intentionally not awaiting this call
            EmulatorApiClient.emulate_oauth_cards(app_credentials, url, True)

        return client
    def _create_token_api_client(
        self,
        url_or_context: Union[TurnContext, str],
        oauth_app_credentials: AppCredentials = None,
    ) -> TokenApiClient:
        if isinstance(url_or_context, str):
            app_credentials = (
                oauth_app_credentials if oauth_app_credentials else self._credentials
            )
            client = TokenApiClient(app_credentials, url_or_context)
            client.config.add_user_agent(USER_AGENT)
            return client

        self.__check_emulating_oauth_cards(url_or_context)
        url = self.__oauth_api_url(url_or_context)
        return self._create_token_api_client(url)
    def create_token_api_client(self, service_url: str) -> TokenApiClient:
        client = TokenApiClient(self._credentials, service_url)
        client.config.add_user_agent(USER_AGENT)

        return client