1
トークンによる認証のためのミドルウェアを書いています。 (私に聞かないでください:なぜですか?)ASPコア:httpContext.Userを設定するには?
...
private UserManager<ApplicationUser> userManager;
private RequestDelegate next;
private WareHouseDbContext context;
...
public async Task Invoke(HttpContext httpContext)
{
var header = httpContext.Request.Headers.Where(x => x.Key == "Authorization");
if (header.Count() == 1)
{
var token = header.First().Value.First();
if (token.Contains("Bearer"))
{
var name = TokenEncryptor.Decrypt(token.Replace("Bearer ", ""));
var user = context.Users.FirstOrDefault(x => x.UserName == name);
if (user != null)
{
httpContext.User = user; // ???? how do this ???/
}
}
}
await next.Invoke(httpContext);
}
httpContext.Userを設定するにはどうすればいいですか?
名が正しいかのように、あなたは
IPrincipal
オブジェクトを作成する必要があります。 –してください。助けて –