我有一个WEB Api,使用用户帐户注册等也令牌。 现在我想要使用Token(JWT承载)和Identity来保护所有端点。因此,用户不能只拥有有效的令牌,但他也必须登录。 当我使用[Authorize(Policy = "Bearer")]
时,我获得了令牌授权,当我使用[Authorize]
时,我获得身份授权,如何组合两者?我会假设我可以做[Authorize(Policy =“Bearer,Identity”)](基于Roles逻辑),但是我得到了一个错误,认为该策略不存在。 有没有一种方法来实现这一点?如何在资源上使用令牌和身份验证?
回购:https://github.com/drakoumel/DatacircleAPI
嗯我所施加的线和现在虽然令牌无效(寿命无效)它继续正常和让用户访问资源,因为他已登录。不应该它需要两个认证通过? 这是我的控制器(getUser())https://github.com/drakoumel/DatacircleAPI/blob/master/Controllers/AccountController.cs 而我的startup.cs https://github.com/drakoumel/DatacircleAPI/ blob/master/Startup.cs – Drakoumel
因此,我得到 info:Microsoft.AspNetCore.Authentication.JwtBearer.JwtBearerMiddleware [7] 承载未经过身份验证。失败消息:IDX10223:生命周期验证失败。令牌已过期。 和 info:Microsoft.AspNetCore.Authentication.Cookies.CookieAuthenticationMiddleware [3] HttpContext.User通过来自authenticationScheme:Identity.Application的AutomaticAuthentication合并。 info:Microsoft.AspNetCore.Authentication.Cookies.CookieAuthenticationMiddleware [8] AuthenticationScheme:Identity.Application已成功通过身份验证。 – Drakoumel
根据文件说,这两个政策将有改变填充用户,是否有可能强制执行,必须通过? – Drakoumel