Как получить доступ к HttpContext пользователя в OpenIdConnectEvents.OnAuthorizationCodeReceived? - PullRequest
0 голосов
/ 02 апреля 2019

В приложении ASP.NET Core у меня есть код, подобный следующему:

public void ConfigureServices(IServiceCollection services)
{
    services.AddAuthentication(options => ...)
    .AddCookie()
    .AddOpenIdConnect(options =>
    {
        ...
        options.Events = new OpenIdConnectEvents
        {
            ...
            OnAuthorizationCodeReceived = async context =>
            {
                // Here I want to access the user HttpContext. previously System.Web.HttpContext.Current
            }
        };
    });
    ...
}


}

Причина, по которой мне нужен доступ к текущему пользователю HttpContext, заключается в том, что я имею дело с некоторой логикой AuthenticationContext.AcquireTokenByAuthorizationCodeAsync, которая кэширует токены доступа в сеансе пользователя. Предыдущая версия кода, использованная System.Web.HttpContext.Current, насколько я понимаю, была удалена из ASP.NET Core. AuthorizationCodeReceivedContext.HttpContext явно не то, что я ищу.

1 Ответ

0 голосов
/ 10 апреля 2019

Параметр context делегата OnAuthorizationCodeReceived содержит свойство HttpContext, которое содержит текущий http-контекст

OnAuthorizationCodeReceived = async context =>
{
    var httpContext = context.HttpContext;
    //..
}
...