Jim*_*Jim 2 c# asp.net asp.net-core
我正在使用IdentityServer和JWT持有令牌来验证角度4/ASP.NET Core 2 Web应用程序中的请求.
验证一切正常,我可以获得持票令牌.不幸的是,该项目有几个页面(如hangfire仪表板),需要一个常规的表单身份验证cookie.
我如何通过编程方式创建一个cookie,并将其设置在角应用程序,这样,当我浏览到传统的网页,cookie的存在,并且用户可以进行身份验证?
常规登录页面仍然存在,我也可以使用表单身份验证登录,但我宁愿只使用承载令牌登录,然后获取身份验证cookie,就像我使用表单登录一样.
持票人令牌将确保未经身份验证的用户无法获取cookie,该部分已经被处理.我只需要知道如何创建cookie并将其返回.
您可以在一个项目中同时进行Cookie和JWT身份验证.首先在ConfigureServices方法中添加cookie和JWT身份验证:
services.AddAuthentication()
.AddCookie(options => options.SlidingExpiration = true)
.AddJwtBearer(options =>
{
// JWT setup
});
Run Code Online (Sandbox Code Playgroud)
在Configure方法中添加app.UseAuthentication();
并把
[Authorize(AuthenticationSchemes = JwtBearerDefaults.AuthenticationScheme)]
Run Code Online (Sandbox Code Playgroud)
在您希望将身份验证方案更改为JWT的控制器之上.
有关详细信息,请阅读ASP.NET Core 2中的两个AuthorizationSchemes.
| 归档时间: |
|
| 查看次数: |
1017 次 |
| 最近记录: |