Go语言 如何在开发测试阶段绕过gin-jwt

5kgi1eie  于 2023-02-27  发布在  Go
关注(0)|答案(1)|浏览(145)

我在我的项目中使用gin-jwt作为认证,但是我想在开发阶段绕过它来测试接口,我如何设置一个特定的url参数,比如debug,来绕过认证直接测试接口。
示例:使用jwt示例

  • http://localhost:8000/hello?debug不需要登录
  • http://localhost:8000/hello需要登录

我真的很感激你的帮助。

zaq34kh6

zaq34kh61#

一种常见的方法是设置一个环境变量,比如MYAPP_CONTEXT=dev,在Go代码中从环境中获取该变量(使用os.Getenv),然后设置JWT认证中间件以关闭该值,因此,如果环境变量设置为dev,则返回所需的任何用户/权限,否则将照常进行。
如果您愿意,您还可以通过使用gin上下文的Query函数检查debug参数来关闭查询字符串中的debug参数,这样,当且仅当环境设置为dev * 且 * debug参数出现在查询字符串中时,您才可以绕过正常的身份验证。

相关问题