如何使用.Net Core cookie中间件ticketdataformat将Jwt令牌从Api保存到c#中的cookie

Posted

技术标签:

【中文标题】如何使用.Net Core cookie中间件ticketdataformat将Jwt令牌从Api保存到c#中的cookie【英文标题】:How to save Jwt token from Api to cookie in c# using .Net Core cookie middleware ticketdataformat 【发布时间】:2017-05-18 03:00:42 【问题描述】:

我正在学习.net core jwt,编写自己的Api并使用c#由MVC前端使用,它们将托管在同一域中,但子域不同

我已经使用来自 Internet 的示例和教程构建了返回 Jwt 令牌的 .Net core Api,因此后端(Api 编码)已完成。它已经通过 cookie 或 header 验证令牌。

在 GetToken Api 调用之后,我想将此令牌存储在 .Net core MVC 前端的 httpcookie cookie(不能被 javscript 访问)中,使用 .Net core cookie 中间件来完成。最好的方法是什么?

我知道 TicketDataFormat 是线索吗?我应该怎么做才能从 Api 读取 jwt 令牌,并将其存储在 mvc 前端完全相同?

我想要 c# 中的答案,而不是 javascript,因为我已经说过这是一个 httponly cookie,并且无法通过 javascript 访问。

【问题讨论】:

我们需要更多信息。令牌从哪里来?这是单页应用还是 Razor 应用? @NateBarbettini,我重新编辑了这个问题。前端不是javascript,是c#调用api,将api返回的token存储到cookie中。我已经完成了 Api 的编码以接受标头和 cookie 作为 jwt 令牌 【参考方案1】:

我最终只是使用 Response.Append(cookie) 在那里添加一个令牌。 不依赖网站cookiemiddleware

【讨论】:

以上是关于如何使用.Net Core cookie中间件ticketdataformat将Jwt令牌从Api保存到c#中的cookie的主要内容,如果未能解决你的问题,请参考以下文章

ASP.NET Core 使用Cookie验证身份

如何手动验证 JWT Asp.Net Core?

在中间件中使用 .NET Core Session

.Net Core Cors中间件解析

如何使用 Postman 使用 cookie 身份验证测试 ASP.NET Core Web API?

实践剖析.NET Core如何支持Cookie和JWT混合认证授权