登录
首页 >  Golang >  Go问答

响应标头和请求标头之间的 JWT 签名不同

来源:stackoverflow

时间:2024-04-21 19:36:36 225浏览 收藏

哈喽!大家好,很高兴又见面了,我是golang学习网的一名作者,今天由我给大家带来一篇《响应标头和请求标头之间的 JWT 签名不同》,本文主要会讲到等等知识点,希望大家一起学习进步,也欢迎大家关注、点赞、收藏、转发! 下面就一起来看看吧!

问题内容

我正在实现一个使用 jwt 的身份验证 api,然后将其存储在 cookie 中。 cookie 在响应标头中设置正确,并且在请求标头中似乎也是如此。问题是响应中的 access_token 的签名与请求中的签名不同。因此,经过验证,它失败了。

正如您在上图中看到的,它们是不同的。我很困惑为什么它在请求标头中发生了变化。这是有意的行为吗?如果是这样,我该如何将其恢复到原来的签名?这就是我设置 cookie 的方式

atcookie := new(http.cookie)
atcookie.name = "access_token"
atcookie.value = "my-access-token"

我是这样读的

c.cookie("access_token").value

我正在使用 https://github.com/golang-jwt/jwt。我想我遵循了文档中的所有内容。我使用 echo 作为框架。我几个小时以来一直在尝试解决这个问题,如果有人能帮助我就好了。

更新 结果我只需要设置 cookie 路径。

atCookie.Path = "/"

虽然不确定这是否正确,但它能够将 cookie 保存在浏览器中。它根本没有向服务器发送任何 cookie。 cookie 标头值很混乱,因为它散布着来自其他选项卡的 cookie,因此增加了混乱。


正确答案


您显示的日志来自对您的登录端点的请求。您将 cookie 中的一个访问令牌发送到该端点,执行登录,然后发出新的访问令牌并将其设置在响应标头中。我认为这是一种完全正常的行为。

本篇关于《响应标头和请求标头之间的 JWT 签名不同》的介绍就到此结束啦,但是学无止境,想要了解学习更多关于Golang的相关知识,请关注golang学习网公众号!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>