From 419363a5606f0a40896bbfa51c3a91f915a451ce Mon Sep 17 00:00:00 2001 From: Lee Cattarin Date: Thu, 24 Aug 2017 10:09:23 -0700 Subject: [PATCH] Changes for auth setup --- AzureBot.Services.Common/ContextConstants.cs | 1 + AzureBot/Controllers/MessagesController.cs | 13 +++++++++++++ 2 files changed, 14 insertions(+) diff --git a/AzureBot.Services.Common/ContextConstants.cs b/AzureBot.Services.Common/ContextConstants.cs index 700c3fa..28ceaf3 100644 --- a/AzureBot.Services.Common/ContextConstants.cs +++ b/AzureBot.Services.Common/ContextConstants.cs @@ -2,6 +2,7 @@ { public class ContextConstants { + public const string AuthResultKey = "authResult"; public const string SubscriptionIdKey = "subscriptionId"; } } \ No newline at end of file diff --git a/AzureBot/Controllers/MessagesController.cs b/AzureBot/Controllers/MessagesController.cs index cb63b06..591a465 100644 --- a/AzureBot/Controllers/MessagesController.cs +++ b/AzureBot/Controllers/MessagesController.cs @@ -25,6 +25,19 @@ public virtual async Task Post([FromBody] Activity activity { switch (activity.GetActivityType()) { + case ActivityTypes.Event: + var eventToken = activity.Value.ToString(); + + AuthBot.Models.AuthResult authResult = new AuthBot.Models.AuthResult(); + object tokenCache = new Microsoft.IdentityModel.Clients.ActiveDirectory.TokenCache(); + var token = await AuthBot.Helpers.AzureActiveDirectoryHelper.GetTokenByAuthCodeAsync(eventToken, + (Microsoft.IdentityModel.Clients.ActiveDirectory.TokenCache)tokenCache); + + StateClient stateClient = activity.GetStateClient(); + BotData userData = await stateClient.BotState.GetUserDataAsync(activity.ChannelId, activity.From.Id); + userData.SetProperty(ContextConstants.AuthResultKey, token); + await stateClient.BotState.SetUserDataAsync(activity.ChannelId, activity.From.Id, userData); + break; case ActivityTypes.Message: case ActivityTypes.ConversationUpdate: