на основе примера msgraph-training-aspnetmvcapp, а также созданного веб-проекта Visual Studio 2017 https://github.com/hannespreishuber/demoAuthorizationCodeReceivedSessionNull моя проблема в том, что Session в ctx имеет значение null для
AuthorizationCodeReceived = (context) =>
{
var code = context.Code;
var ctx = context.OwinContext.Environment["System.Web.HttpContextBase"] as HttpContextBase;
в примере MSgraph -в том же коде есть объект сеанса. Посмотрите подробности в моем репозитории GitHubЯ предполагаю, что AuthorizationCodeReceived выполняется в различном виде контекста (нить?) И контекст неверен.