Forum Discussion
Enabling Cross-Tenant Authentication for Teams Apps with Single-Tenant Bot
- Sep 08, 2025
Hello chetanoptimus
Please note that you can (you should actually) use two Azure AD / Entra ID App Registration.
The first one is associated with the Azure Bot Service. It secures the communication from Azure Bot Service to your backend (channel-to-bot access). You can be single-tenant here as external users are not involved. If your backend is running on Azure (such as Azure App Service), you can even use Managed Identities which is ideal as you won't have to rotate secrets or certificates. See Provision an agent in Azure Bot Service using User-Assigned Managed Identity | Microsoft Learn
The second App Registration can be used for multi-tenant user authentication (needed to publish your app in the store / App Source) and has to be multi-tenant to serve its purpose.
This App Registration can be configured in Azure Bot Service (OAuth Connection Settings) and consumed in Agents SDK through the Auto SignIn feature (see Configure your .NET Agent to use OAuth | Microsoft Learn). Or it can be configured directly through the Agents SDK with one of the auth types supported in the authentication provider (see Configure authentication in a .NET agent | Microsoft Learn).Most documentation articles or samples are using the same App Registration for both needs (and are focusing on single-tenant scenario indeed) but having two App Registration should be prioritized as far as I'm concerned.
I hope this helps.
Thanks, Benjiiim, this approach works as expected.
Benjiiim
Is it possible to do a temporary cross-tenant testing, before AppSource submission
- BenjiiimOct 02, 2025MCT
Yes, I would advise you to do it early to check that your app works in a multi-tenant environnement.
- NeeluOct 10, 2025Copper Contributor
Benjiiim So is this like a single tenant bot can be associated with a multi-tenant app?
We are sideloading our app in multiple tenants(not published in store).Till now the bot associated with this app was a multi-tenant one.How to make this model working with the new change?