/// <inheritdoc/> protected override async Task OnTeamsMessagingExtensionConfigurationSettingAsync( ITurnContext <IInvokeActivity> turnContext, JObject settings, CancellationToken cancellationToken) { turnContext = turnContext ?? throw new ArgumentNullException(nameof(turnContext)); settings ??= new JObject(); var state = settings["state"]?.ToString()?.ToUpperInvariant(); switch (state) { case "SIGNOUT": this.logger.LogInformation("User initiated sign-out"); await turnContext.SignOutUserAsync(this.appSettings.GraphConnectionName, cancellationToken); return; default: this.logger.LogWarning("Unknown setting state: {0}", state); return; } }