Skip to content

Conversation

@heyitsaamir
Copy link
Contributor

@heyitsaamir heyitsaamir commented Nov 6, 2025

This PR introduces MSAL as a dependency and switches our supported bot authentication to use it.
Our natively supported Auths are secret (i.e. CLIENT_SECRET), and token (i.e. providing your own token factory).

Changes to note:

  1. We are now no longer proactively refreshing tokens. Instead, we put the token fetcher inside the token resolver logic for the client. This ends up being a call to tokenManager.getBotToken.
  2. This fixes a bug where proactive scenarios were going to fail because we weren't refreshing the token for them. For reactive scenarios, we refresh the token when the request comes in, so it was fine.
  3. We are deprecating the id and name fields because those used to depend on the token being present. Now that we are not proactively fetching the token, those are not as useful (or reliable). For now, I have chosen to simply use the value from the manifest to populate them. I don't think these fields were that useful anyway, so opting to deprecate.
  4. Removes graphToken from being injected into plugins. Plugins weren't using it, and we want to remove tight dependency on graph package.

PR Dependency Tree

This tree was auto-generated by Charcoal

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants