使用承载令牌认证时设置asp.net CORE 2认证cookie

时间:2018-02-06 08:07:10

标签: c# asp.net asp.net-core

我正在使用IdentityServerJWT持票人令牌来验证角度4 / ASP.NET Core 2 Web应用程序中的请求。

验证一切正常,我可以获得持票令牌。 不幸的是,该项目有一些页面(如hangfire仪表板)需要一个常规的表单身份验证cookie。

如何以编程方式创建cookie,并在角度应用程序中进行设置,以便在导航到旧版页面时,cookie存在,用户可以进行身份​​验证?

常规登录页面仍然存在,我也可以使用表单身份验证登录,但我宁愿只使用承载令牌登录,然后获取身份验证cookie,就像我使用表单登录一样。 / p>

承载令牌将确保未经身份验证的用户无法获取cookie,该部分已经被处理。我只需要知道如何创建cookie并将其返回。

1 个答案:

答案 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