This sample demonstrates the use of OAuth within a bot.
A bot is an app that users interact with in a conversational way using text, graphics (cards), or speech. It may be a simple question and answer dialog, or a sophisticated bot that allows people to interact with services in an intelligent manner using pattern matching, state tracking and artificial intelligence techniques well-integrated with existing business services.
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, and so on. These updates also take steps towards an improved user experience by eliminating the magic code verification for some clients.
- Clone the repository.
git clone https://github.com/microsoft/botbuilder-samples.git
- [Optional] Update the
appsettings.json
file underbotbuilder-samples/samples/csharp_dotnetcore/18.bot-authentication
with your botFileSecret. For Azure Bot Service bots, you can find the botFileSecret under application settings.
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:
openid
profile
With the OAuth 2 provider configured, please update ConnectionName
in AuthenticationBot.cs
so the bot can perform OAuth calls through Azure Bot Service.
- Navigate to the samples folder (
botbuilder-samples/samples/csharp_dotnetcore/18.bot-authentication
) and openAuthenticationBot.csproj
in Visual Studio - Run the project (press
F5
key)
- Open
botbuilder-samples/samples/csharp_dotnetcore/18.bot-authentication
folder - Using the command line, navigate to
botbuilder-samples/samples/csharp_dotnetcore/18.bot-authentication
- Type
dotnet run
.
Microsoft 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 from here.
- Launch the Bot Framework Emulator.
- File -> Open bot and navigate to
botbuilder-samples/samples/csharp_dotnetcore/18.bot-authentication
folder. - Select
bot-authentication.bot
file.
You can use the MSBot Bot Builder CLI tool to clone and configure any services this sample depends on. In order to install this and other tools, you can read Installing CLI Tools. To clone this bot, run
msbot clone services -f deploymentScripts/msbotClone -n <BOT-NAME> -l <Azure-location> --subscriptionId <Azure-subscription-id> --appId <YOUR APP ID> --appSecret <YOUR APP SECRET PASSWORD>
NOTE: You can obtain your appId
and appSecret
at the Microsoft's Application Registration Portal