我有一个AspNet应用程序用作API端点。
有一个中间件,用于从标头中检索令牌并在声明中加载角色。
然后,中间件调用SignInAsync并调用下一个请求委托。
但是,第一个请求始终是未经授权的,下一个请求可以。
很明显,AspNet创建了cookie,但在第一个请求时未对用户进行身份验证。
如何直接在第一个请求中对用户进行身份验证和授权?
答案 0 :(得分:0)
所以最后我找到了一种使之工作的方法。
我在
之后添加了身份验证中间件 httpContext.SignInAsync(claimsIdentity);
行
httpContext.User.AddIdentity(claimsIdentity);
现在在第一个请求中直接标识了用户