我正在使用IdentityServer
和JWT
持票人令牌来验证角度4 / ASP.NET Core 2 Web应用程序中的请求。
验证一切正常,我可以获得持票令牌。 不幸的是,该项目有一些页面(如hangfire仪表板)需要一个常规的表单身份验证cookie。
如何以编程方式创建cookie,并在角度应用程序中进行设置,以便在导航到旧版页面时,cookie存在,用户可以进行身份验证?
常规登录页面仍然存在,我也可以使用表单身份验证登录,但我宁愿只使用承载令牌登录,然后获取身份验证cookie,就像我使用表单登录一样。 / p>
承载令牌将确保未经身份验证的用户无法获取cookie,该部分已经被处理。我只需要知道如何创建cookie并将其返回。
答案 0 :(得分:6)
您可以在一个项目中同时进行Cookie和JWT身份验证。
首先在ConfigureServices
方法中添加cookie和JWT身份验证:
services.AddAuthentication()
.AddCookie(options => options.SlidingExpiration = true)
.AddJwtBearer(options =>
{
// JWT setup
});
<{1>}方法中的只需添加Configure
并放
app.UseAuthentication();
在您希望将身份验证方案更改为JWT的控制器之上。
了解更多信息,请阅读Two AuthorizationSchemes in ASP.NET Core 2。