我在我的项目中使用gin-jwt作为认证,但是我想在开发阶段绕过它来测试接口,我如何设置一个特定的url参数,比如debug,来绕过认证直接测试接口。示例:使用jwt示例
debug
http://localhost:8000/hello?debug
http://localhost:8000/hello
我真的很感激你的帮助。
zaq34kh61#
一种常见的方法是设置一个环境变量,比如MYAPP_CONTEXT=dev,在Go代码中从环境中获取该变量(使用os.Getenv),然后设置JWT认证中间件以关闭该值,因此,如果环境变量设置为dev,则返回所需的任何用户/权限,否则将照常进行。如果您愿意,您还可以通过使用gin上下文的Query函数检查debug参数来关闭查询字符串中的debug参数,这样,当且仅当环境设置为dev * 且 * debug参数出现在查询字符串中时,您才可以绕过正常的身份验证。
MYAPP_CONTEXT=dev
os.Getenv
dev
Query
1条答案
按热度按时间zaq34kh61#
一种常见的方法是设置一个环境变量,比如
MYAPP_CONTEXT=dev
,在Go代码中从环境中获取该变量(使用os.Getenv
),然后设置JWT认证中间件以关闭该值,因此,如果环境变量设置为dev
,则返回所需的任何用户/权限,否则将照常进行。如果您愿意,您还可以通过使用gin上下文的
Query
函数检查debug
参数来关闭查询字符串中的debug
参数,这样,当且仅当环境设置为dev
* 且 *debug
参数出现在查询字符串中时,您才可以绕过正常的身份验证。