问题标签 [jwt-go]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
170 浏览

go - GoLang JWT 与 Martini 投掷?

我正在尝试 JWT 中间件示例以使 JWT 与 Martini 一起使用,并且当它遇到身份验证处理程序时它会给我一个回报。

这是直接来自示例的代码..

如果我点击未经身份验证的路线,它会起作用。如果我点击经过身份验证的路线,它会告诉我我需要一个令牌。如果我使用不正确的令牌访问经过身份验证的路由,我会收到一条错误消息,

所以这一切都有效。如果我使用正确的令牌点击经过身份验证的路由,它会给我作为返回文本。我不知道为什么。这直接来自他们的示例,尽管我在我的个人项目中得到了相同的结果。

0 投票
4 回答
24246 浏览

go - Go 和 JWT - 简单的身份验证

我目前正在制作一个 API(使用 go),并且正在处理会话部分。在研究了会话使用什么之后,我发现 JWT 真的很有趣。

但是,经过一些教程后,我不确定如何使用它。所以这是我的想法:

处理完这些请求后,我创建了不同的函数。

网络上的很多教程似乎真的很难,但我只是想要一些简单的东西。我只想要一个与服务包一起使用的句柄包(上面的代码),以具有类似于引擎令牌身份验证的功能。

我不确定的第二点是令牌的保存。如果用户连接自己,那么什么是最好的?每次用户运行他们的应用程序时,应用程序都会自行连接并从保存的信息(用户/密码)中获取新令牌,或者应用程序只是永久保存令牌?那么服务器呢,令牌是用 JWT 自动管理和保存的,还是我必须把它放在我的 sql 数据库中?

感谢您的帮助 !

编辑 1

谢谢 !因此,在阅读了您的答案后,我像这样封装了我的代码(token.go)

但是,我收到以下错误:“token.go: undefined: myLookupKey” 我在互联网上查看并找到了一个具有此原型的封装函数:

那么我的功能和这个有什么区别呢?我该如何使用这个?

谢谢 !

0 投票
1 回答
4420 浏览

go - Golang 和 JWT - 简单的注销

我目前正在开发一个 API,经过一段时间后,我现在了解了如何在 Go 中使用 JWT 来获取令牌。使用此令牌,我可以保持用户连接,但是如何从客户端应用程序中注销?

这是我的token.go代码:

经过研究,我发现我可以使用黑名单,但我真的很想知道是否可以使用更简单的方法,比如上面的代码。

我还想找到一个适用于 JWT 进程使用的内存的解决方案。一直断开/连接自己的人每次会话必须只有一个令牌,而不是他的一个,给定黑名单中的一百个。

0 投票
1 回答
1877 浏览

docker - 使用 Docker 在 Jenkins 上使用“供应商”目录构建 Go 应用程序

我正在尝试设置一个 Jenkins Pipeline 来使用Jenkinsfile和构建和部署我的第一个 Go 项目docker.image().inside 。我不知道如何去获取vendor/目录中的依赖项。

当我运行构建时,我得到了一堆错误:

...为什么不选择供应商目录?

sh "cd /workspace/src/bitbucket.org/nalbion/go-demo"当我输入一些日志记录时,运行下一个命令后似乎sh仍在原始${WORKSPACE}目录中。我真的很喜欢 Jenkins 文件的想法,但我找不到任何合适的文档。

(编辑-这里有不错的文档,但dir("/workspace/src/bitbucket.org/nalbion/go-demo") {}似乎在其中不起作用docker.image().inside)

我的 Docker 文件类似于:

还有我的 Jenkinsfile:

0 投票
5 回答
25781 浏览

go - 如何提取和验证从前端发送的令牌

我正在使用“github.com/dgrijalva/jwt-go”,并且能够向我的前端发送令牌,以及我想知道如何检索从前端发送的令牌,以便我可以验证令牌是否发送的内容是有效的,如果是,则将交付受保护的资源。

这是从前端 JavaScript 发送的令牌:

这是发送令牌的代码

这是验证令牌的代码

我得到nil令牌作为回报,我猜我已经发送了不记名,我认为如果是这样的话它可能需要解析?

0 投票
2 回答
1815 浏览

rest - go-restful + JWT 认证

我正在尝试将 JWT 身份验证插入一个用go-restful编写的非常简单的 go 服务中。

代码非常类似于:

restful.Request包装器在哪里http.Request

话虽如此,也许可以使用Auth0 jwt 中间件

但是作为一个golang新手,我在管道过程中有点迷失。我看到我必须使用Filter类似的功能

在哪里

但我不知道应该如何以及在哪里实例化 JWT 中间件。

0 投票
1 回答
18045 浏览

go - 如何从 JWT 令牌中提取声明

我正在使用 dgrijalva/jwt-go/ 包。

我想从令牌中提取有效负载,但找不到方法。


示例(取自:https ://jwt.io/ ):

对于编码:

eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiYWRtaW4iOnRydWV9.TJVA95OrM7E2cBab30RMHrHDcEfxjoYZgeFONFh7HgQ

我想提取有效载荷:


我将不胜感激一个例子(使用golang)。

0 投票
1 回答
305 浏览

security - goa 中的用户感知操作

我正在使用goa制作一个 Web 服务器(无法为其创建堆栈溢出标签,没有足够的声誉)。

我找不到在控制器方法中获取用户上下文的方法。我使用基本身份验证支持的 JWT 身份验证。我有一个通过 JWT 中间件保护的 JWT 安全操作,它检查密码等。

我想要的是从 JWT 令牌获取用户名到安全方法。有什么办法吗?

goa 设计文件片段:

这个DSL生成到这个方法中:

生成的操作是安全的并且运行良好(已安装中间件并且所有验证通过)。但我想在操作中获取用户名。有可能吗?

我想以这种方式得到它:

现在我将不得不解析 jwt 两次。:(

我做了一个解析 base64 令牌声明的助手。

0 投票
3 回答
13346 浏览

go - Go Language and Verify JWT

I have been searching for an example I can understand of how to validate the signature of a JWT with the GO Language.

This might be especially tricky since I am using Okta, and it uses JWKs, so it is not especially straight forward.

When I receive a JWT, I can decode it no problem, just get stuck on how to verify the signature.

Below I have included a JWT, and the JWK details. If anyone is comfortable with this, and can complete signature validation with an Example, that would be amazing.:)

You can get to all of this information here: https://oktaproxy.com/oidcgenerator.php, this site will generate a JWT from Okta, and the keys can be obtained here: https://companyx.okta.com/oauth2/v1/keys.

Here is the JWT:

Here are the Keys:

0 投票
1 回答
157 浏览

go - 部署到 appengine 时,http.Request 具有未定义的字段

我正在开发一个网络应用程序,我依赖以下代码进行身份验证(我正在使用 github.com/dgrijalva/jwt-go 包):

问题是,我正在尝试将我的应用程序部署到 appengine,但出现以下错误:

根据我的阅读,这是由于 appengine 的请求与 go 库中的请求不兼容,但我还找不到解决方法

有没有办法将 http.Request 包装或转换为使用 appengine 的?