Authentication Bot Utilizing MS Graph
Bot Framework v4 bot authentication using Microsoft Graph sample
This bot has been created using Bot Framework, is shows how to use the bot authentication capabilities of Azure Bot Service. In this sample we are assuming the OAuth 2 provider is Azure Active Directory v2 (AADv2) and are utilizing the Microsoft Graph API to retrieve data about the user. Check here for information about getting an AADv2 application setup for use in Azure Bot Service. The scopes used in this sample are the following:
emailMail.ReadMail.Send.SharedopenidprofileUser.ReadUser.ReadBasic.All
NOTE: Microsoft Teams currently differs slightly in the way auth is integrated with the bot. Refer to sample 46.teams-auth.
Running the sample
- Clone the repository
- Bring up a terminal, navigate to
botbuilder-samples\samples\24.bot-authentication-msgraphfolder - Activate your desired virtual environment
- In the terminal, type
pip install -r requirements.txt - Deploy your bot to Azure, see Deploy your bot to Azure
- Add Authentication to your bot via Azure Bot Service
- Modify
APP_ID,APP_PASSWORD, andCONNECTION_NAMEinconfig.py
After Authentication has been configured via Azure Bot Service, you can test the bot.
- Run your bot with
python app.py
Testing the bot using Bot Framework Emulator
Bot Framework Emulator is a desktop application that allows bot developers to test and debug their bots on localhost or running remotely through a tunnel.
- Install the Bot Framework Emulator version 4.3.0 or greater from here
Connect to the bot using Bot Framework Emulator
- Launch Bot Framework Emulator
- File -> Open Bot
- Enter a Bot URL of
http://localhost:3978/api/messages - Enter the app id and password
Authentication
This sample uses bot authentication capabilities in Azure Bot Service, providing features to make it easier to develop a bot that authenticates users to various identity providers such as Azure AD (Azure Active Directory), GitHub, Uber, etc. These updates also take steps towards an improved user experience by eliminating the magic code verification for some clients.
Deploy the bot to Azure
To learn more about deploying a bot to Azure, see Deploy your bot to Azure for a complete list of deployment instructions.