Skip to content

[A365 support] Add Agent 365 token support#457

Merged
heyitsaamir merged 6 commits into
feature_agent365_supportfrom
add_agent365_token_support
Jun 18, 2026
Merged

[A365 support] Add Agent 365 token support#457
heyitsaamir merged 6 commits into
feature_agent365_supportfrom
add_agent365_token_support

Conversation

@heyitsaamir

@heyitsaamir heyitsaamir commented Jun 10, 2026

Copy link
Copy Markdown
Collaborator

Adds Agent 365 agent user token support to TokenManager.

Why:
This lets apps request resource tokens for an agent identity acting through its agent user, including Teams bot API tokens.

Interesting bits:

  • Added generic get_agent_user_token(scope=...) plus get_agent_bot_token() convenience.
  • Uses MSAL's user FIC support and a client assertion callback for T1 so we don't sit on stale assertions.
  • Added an agent365 example that reads values from env vars and avoids printing the full token. tiny safety win.

Reviewer tips:
Start with packages/apps/src/microsoft_teams/apps/token_manager.py, then examples/agent365/src/main.py.

Testing:

  • uv run pytest packages/apps/tests/test_token_manager.py
  • uv run ruff check packages/apps/src/microsoft_teams/apps/token_manager.py examples/agent365/src/main.py stubs/msal/init.pyi
  • pre-commit hooks on commit: ruff, ruff format, pyright, license header

@heyitsaamir heyitsaamir changed the title Add Agent 365 token support [A365 support] Add Agent 365 token support Jun 10, 2026
@heyitsaamir heyitsaamir changed the base branch from feature_agent365_support to agent365_support_base June 11, 2026 04:52
@heyitsaamir heyitsaamir force-pushed the add_agent365_token_support branch from ae38af2 to 09122d9 Compare June 11, 2026 04:52
@heyitsaamir

heyitsaamir commented Jun 11, 2026

Copy link
Copy Markdown
Collaborator Author

Comment thread packages/apps/src/microsoft_teams/apps/token_manager.py
Comment thread packages/apps/src/microsoft_teams/apps/token_manager.py
Comment thread packages/apps/src/microsoft_teams/apps/token_manager.py Outdated
Comment thread packages/apps/src/microsoft_teams/apps/token_manager.py Outdated
Comment thread packages/apps/src/microsoft_teams/apps/token_manager.py Outdated
Comment thread packages/apps/src/microsoft_teams/apps/token_manager.py Outdated
@heyitsaamir heyitsaamir force-pushed the feature_agent365_support branch from 7f2794d to 20d15b5 Compare June 17, 2026 22:26
@heyitsaamir heyitsaamir force-pushed the add_agent365_token_support branch from da0981d to e222f20 Compare June 17, 2026 22:26
Comment thread packages/apps/src/microsoft_teams/apps/token_manager.py Outdated
Comment thread packages/apps/src/microsoft_teams/apps/token_manager.py Outdated
Comment thread examples/agent365/README.md
@heyitsaamir heyitsaamir merged commit 0addde5 into feature_agent365_support Jun 18, 2026
9 checks passed
@heyitsaamir heyitsaamir deleted the add_agent365_token_support branch June 18, 2026 23:36
heyitsaamir added a commit that referenced this pull request Jun 24, 2026
Adds Agent 365 agent user token support to TokenManager.

Why:
This lets apps request resource tokens for an agent identity acting
through its agent user, including Teams bot API tokens.

Interesting bits:
- Added generic get_agent_user_token(scope=...) plus
get_agent_bot_token() convenience.
- Uses MSAL's user FIC support and a client assertion callback for T1 so
we don't sit on stale assertions.
- Added an agent365 example that reads values from env vars and avoids
printing the full token. tiny safety win.

Reviewer tips:
Start with packages/apps/src/microsoft_teams/apps/token_manager.py, then
examples/agent365/src/main.py.

Testing:
- uv run pytest packages/apps/tests/test_token_manager.py
- uv run ruff check
packages/apps/src/microsoft_teams/apps/token_manager.py
examples/agent365/src/main.py stubs/msal/__init__.pyi
- pre-commit hooks on commit: ruff, ruff format, pyright, license header
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