Bot Framework v4 bot authentication using Federation Identity Certificate (FIC). Currently, FIC feature is supported for Microsoft tenants only.
This bot has been created using Bot Framework, is shows how to use the bot authencation capabilities of Azure Bot Service. In this sample, we use federated identity certificate configuration to create the Bot Framework Authentication.
-
Node.js version 18 or higher
# determine node version node --version
-
Bot Framework SDK version 4.23.1 onwards
-
In a terminal, navigate to
samples/javascript_nodejs/86.bot-authentication-fic
cd samples/javascript_nodejs/86.bot-authentication-fic
-
Install modules
npm install
-
Create an user assigned managed identity.
- Record the client ID of the managed identity and add the same to .env file.
-
Create Azure App and Bot
-
Create App Registration
- This can be either Single or Multi tenant.
- Record the Application ID.
- Add the Federation Identity Certificate (FIC) to the App Registration.
- To create trust using the FIC, we need to link the managed identity to the App Registration.
- Click on the add credential under Federated Credential
- On the Add a credential page, select the Federated credential scenario as "Customer Managed Keys".
- Select the managed identity that you created in the previous step.
- Enter name for the credential and click on Add.
- To create trust using the FIC, we need to link the managed identity to the App Registration.
-
Create an Azure Bot in the desired resource group. Use the App Registration from the previous step.
-
Add the User managed identity created in previous step to the Azure App Service under Configuration -> Identity -> User Assigned Managed Identity.
-
-
Set .env variables
-
MicrosoftAppType: {SingTenant | MultiTenant}
-
MicrosoftAppId: {appId}
-
MicrosoftAppTenantId: {tenantId}
-
MicrosoftAppClientId: {clientId of managed identity}
-
-
Start the bot
npm start
To learn more about deploying a bot to Azure, see Deploy your bot to Azure for a complete list of deployment instructions.