Get AuthenticationProperties in ASP.NET 5

吃可爱长大的小学妹 提交于 2019-12-21 04:08:23

问题


In ASP.NET 5 MVC 6 RC1 how do I retrieve AuthenticationProperties from within a controller or from a filter? HttpContext.Authentication does't seem to have this functionality.

I thought about registering an CookieAuthenticationEvents.OnValidatePrincipal handler and then using the Properties property on the CookieValidatePrincipalContext argument. Then I could store those AuthenticationProperties in the request cache so that later I'm able to get things like IssuedUtc.

Is there a better solution where I don't need to store this myself?

I'm not using ASP.NET Identity but the cookie middleware as standalone.


回答1:


In ASP.NET 5, retrieving the authentication properties is a bit cumbersome as it must be done by instantiating an AuthenticateContext:

var context = new AuthenticateContext("[your authentication scheme]");
await HttpContext.Authentication.AuthenticateAsync(context);

if (context.Principal == null || context.Properties == null) {
    throw new InvalidOperationException("The request is not authenticated.");
}

var properties = new AuthenticationProperties(context.Properties);


来源:https://stackoverflow.com/questions/34534892/get-authenticationproperties-in-asp-net-5

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!