当前位置: 首页 > 知识库问答 >
问题:

在nginx服务器上解码JWT令牌并记录它

李安歌
2023-03-14

我们使用nginx服务器反向代理少数微服务。每个请求都有包含JWT令牌的Authorization头。现在,我们需要做的是从JWT令牌中提取用户详细信息,并将其登录到nginx服务器上。是否有任何方法可以解码和记录JWT?我研究了几个使用JWT验证请求的lua脚本,但这不是我们需要的。此外,我们还试图避免在nginx服务器上安装Lua。

任何帮助将不胜感激。

编辑:我们也可以使用基于Lua的解决方案。

共有1个答案

柴兴修
2023-03-14

与您的问题相关,并遵循评论,您可以使用官方Nginx Plus模块以最佳方式完成任务:

使用JWT和NGINX Plus验证API客户端

但这显然需要花钱,如果你想要开源的东西,你应该检查这个项目:

特斯拉政府 /ngx-超文本传输协议-au th-j wt-模块

上面的模块,现在工作了一天,它不容易使用Ngin x plus模块,但它是开源的。

最后,与您的版本相关,这里有一个Lua解决方案。

ubergarm/openresty nginx jwt

我不是很喜欢Lua,该项目似乎已经过时,因为它自2018年以来没有收到更新,我分享给你链接,以防你从中找到有用的东西。

我希望这有助于解决你的问题。

 类似资料:
  • 我尝试用angular2前端实现jwt令牌。当我尝试使用Postman接收带有post方法的令牌时,我接收到授权令牌,但在Angular中这样做返回空响应对象。这里是我使用的Angular服务的代码片段。 问题是,当我尝试记录时,令牌是空的,与响应相同。对于代码的后端部分,我遵循了jwt令牌的这个实现。

  • 在服务器上验证令牌的正确方法是什么? 我正在我的应用程序中使用jwt令牌机制,下面是它目前的工作方式: null null

  • 我使用jsonwebtoken解码我的令牌,看看它是否已过期。但是,控制台.log返回 null。 我不明白,因为我的令牌不为空

  • 问题内容: 我目前正在使用Golang应用程序。我从客户端收到JWT令牌,在Go中,我需要对该令牌进行解码并获取以下信息:用户,名称等。我正在检查可用于处理JWT的库令牌,我来到https://github.com/dgrijalva/jwt- go ,但我看不到如何简单地制作所需的东西。 我有令牌,我需要将信息解码为地图或至少为json。在哪里可以找到如何做的指南?谢谢! 问题答案: 函数接受第

  • 我不明白这个图书馆是如何工作的。你能帮帮我吗? 以下是我的简单代码: 这是错误: 字符串需要采用紧凑的JSON格式,格式为:Base64UrlEncodedHeader。Base64UrlEndcodedPayload。可选,Base64UrlEncodedSignature'。 如果你复制流在jwt.io网站,它的作品罚款:)

  • 我使用了一个JWT(Json Web令牌),它在负载中有一个刷新令牌(GUID)。通常,我使用Firebase JWT创建/编码和解码JWT。 我想在PHP中解码一个过期的JWT,然后使用其负载中的刷新令牌创建一个新的JWT(只要刷新令牌仍然有效)。如果我用Firebase解码JWT,它会抛出一个异常(过期),并且不会返回解码后的令牌。 如何安全地解码过期的JWT并访问它的有效负载?我可以只捕获过