返回顶部
首页 > 资讯 > 精选 >JWT 如何解析声明有效性和错误?
  • 164
分享到

JWT 如何解析声明有效性和错误?

2024-02-06 10:02:13 164人浏览 八月长安
摘要

问题内容 我正在创建访问、刷新令牌逻辑,并且我想检查访问令牌是否有效(未编辑),即使它已过期。如果令牌过期,Go 将返回错误并使令牌无效。因此,我检查给定的错误是否与 ErrToken

问题内容

我正在创建访问、刷新令牌逻辑,并且我想检查访问令牌是否有效(未编辑),即使它已过期。如果令牌过期,Go 将返回错误并使令牌无效。因此,我检查给定的错误是否与 ErrTokenExpired 匹配。

我可以 100% 确定如果令牌无效,那么 err 不会为零,这样我就可以删除 if !tkn.Valid{... 吗?

这通常是一个好的方法还是编辑的令牌可以通过我的验证?

func VerifyJwt(jwtString, secret string) (*jwt.Token, *Claims, error) {
    claims := &Claims{}
    tkn, err := jwt.ParseWithClaims(jwtString, claims, func(token *jwt.Token) (interface{}, error) {
        return []byte(os.Getenv(secret)), nil
    })
    return tkn, claims, err
}
_, accClaims, err1 := VerifyJWT(req.Access, "ACCESS_SECRET")
    if err1 != nil && err1.Error()[:16] != jwt.ErrTokenExpired.Error()[:16] {
        WriteJSON(w, Http.StatusBadRequest, apiError{Error: "invalid token access" + err1.Error()})
        return
    }


正确答案


如果您的代码中有两点,jwt 令牌是安全的:

1-选择好的算法
2-创建随机密钥

如果token改变或者超时,这两个选择可以帮助你,VerifyJWT返回错误!

注意:总是需要检查错误,并向客户端返回良好的响应。

<小时/>

注意(改进您的代码):要检查一个错误是否为 ErrTokenExpired,请使用 errors pkg。

你的例子:

// import "errors"


_, accClaims, err := VerifyJWT(req.Access, "ACCESS_SECRET")
if errors.Is(err, jwt.ErrTokenExpired) {
        // continue progress
}

if err != nil {
    WritejsON(w, http.StatusUnauthorized, APIError{Error: err.Error()})
    return
}

以上就是JWT 如何解析声明有效性和错误?的详细内容,更多请关注编程网其它相关文章!

--结束END--

本文标题: JWT 如何解析声明有效性和错误?

本文链接: https://lsjlt.com/news/561474.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • JWT 如何解析声明有效性和错误?
    问题内容 我正在创建访问、刷新令牌逻辑,并且我想检查访问令牌是否有效(未编辑),即使它已过期。如果令牌过期,Go 将返回错误并使令牌无效。因此,我检查给定的错误是否与 ErrToken...
    99+
    2024-02-06
  • 什么是“未声明的标识符错误,我该如何解决
    "未声明的标识符错误"是指在程序中使用了未声明的变量、函数或对象的名称。这通常是由于以下几种情况引起的:1. 拼写错误:检查一下标识...
    99+
    2023-09-26
    解决
  • 如何进行Spring声明性事务常见问题分析
    小编今天带大家了解如何进行Spring声明性事务常见问题分析,文中知识点介绍的非常详细。觉得有帮助的朋友可以跟着小编一起浏览文章的内容,希望能够帮助更多想解决这个问题的朋友找到问题的答案,下面跟着小编一起深入学习“如何进行Spring声明性...
    99+
    2023-06-17
  • PHP7中的类型声明:如何避免常见的类型错误?
    PHP7中引入了严格的类型声明,这是一个重要的改进,可以帮助开发者在开发过程中更早地捕获类型错误,并减少因类型错误而引起的bug。本文将介绍PHP7中的类型声明以及如何避免常见的类型错误。一、类型声明的介绍在PHP7中,我们可以使用类型声明...
    99+
    2023-10-22
    PHP 类型错误 类型声明
  • PHP7中的类型声明:如何避免意外的类型错误?
    PHP7中的类型声明:如何避免意外的类型错误?引言:在开发过程中,类型错误是导致程序功能异常和运行时错误的常见原因之一。为了解决这个问题,PHP7 引入了类型声明的特性。本文将深入介绍 PHP7 中的类型声明的用法,以及如何通过类型声明来避...
    99+
    2023-10-22
    PHP 类型错误 类型声明
  • python属性错误如何解决
    在Python中,属性错误通常是由于尝试访问或设置不存在的属性而引起的。要解决属性错误,可以考虑以下几种方法:1. 确保属性存在:在...
    99+
    2023-10-18
    python
  • 域名解析错误如何解决
    域名解析错误的解决方法:快捷键WIN+R,输入命令cmd,打开运行窗口。 再输入命令:“nslookup+解析错误的网址域名”按回车键。或者也可以尝试刷新DNS缓存,在dos窗口输入ipconfig /flushdns后回车,显示...
    99+
    2024-04-02
  • 域名解析错误如何解决?
      刚开始做网站时候,会经常出现很简单的新手问题,比如域名解析错误、空间不会绑定等。现在给大家讲述一下:域名解析错误怎么解决?从哪几方面排查域名解析错误的问题。1、域名解析问题  在开端菜单下“开端”--“运转”输入cm...
    99+
    2023-06-05
  • PHP7中的标量类型声明:如何防止意外的类型错误?
    PHP7 是一种高级语言,广泛应用于 web 开发。它引入了标量类型声明的概念,旨在解决在动态语言中常见的类型错误问题。本文将介绍PHP7中的标量类型声明,并提供一些具体的代码示例,以帮助开发者更好地理解和应用。什么是标量类型声明?在 PH...
    99+
    2023-10-22
    PHP 标量类型声明 防止类型错误
  • PHP7中的标量类型声明:如何预防常见的类型错误?
    PHP7中的标量类型声明:如何预防常见的类型错误?在PHP7中,引入了标量类型声明,它是一种新的特性,可以在函数和方法参数以及返回值的位置上指定预期的数据类型。这对于避免常见的类型错误非常有帮助。本文将通过具体的代码示例来介绍如何利用标量类...
    99+
    2023-10-22
    PHP 标量类型声明 预防类型错误
  • PHP7中的标量类型声明:如何避免类型错误和严谨代码的实现?
    PHP7中的标量类型声明:如何避免类型错误和严谨代码的实现?引言:PHP7是PHP语言的一个重要版本更新,其中新增了标量类型声明的特性。标量类型声明可以帮助开发者避免在使用函数或方法时传递错误的参数类型,从而提高代码的可靠性和可读性。本文将...
    99+
    2023-10-22
    PHP 类型错误 标量类型
  • windows域名解析错误如何解决
    这篇“windows域名解析错误如何解决”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“windows域名解析错误如何解决”文...
    99+
    2023-07-02
  • ubuntu域名解析错误如何解决
    本篇内容主要讲解“ubuntu域名解析错误如何解决”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“ubuntu域名解析错误如何解决”吧!方法一:打开终端输入以下命令,编辑resolv.conf.d...
    99+
    2023-07-04
  • 如何解决DNS解析错误故障
    DNS解析出现错误,就是把一个域名解析成一个错误的IP地址,或者根本不知道某个域名对应的IP地址是什么时,我们就无法通过域名访问相应的站点了,这就是DNS解析故障。出现DNS解析故障最大的症状就是访问站点对应的IP地址没有问题,然而访问他的...
    99+
    2023-06-06
  • 如何创建有效的404错误页面
    404错误页面是网站中不可或缺的一部分,用于处理用户访问不存在或已删除的页面。有效的404页面应包括以下几个要点:1、用户友好的设计、2、明确的错误信息、3、导航选项、4、搜索功能、5、联系信息、6、跟踪和分析。一个好的404页面不仅可以提...
    99+
    2023-10-29
    错误 页面
  • 网站域名解析错误如何解决
    网站域名解析错误通常是由于DNS配置错误或者域名注册商设置问题导致的。要解决这个问题,可以尝试以下几种方法: 检查域名解析设置:...
    99+
    2024-05-15
    域名
  • 如何在 C++ 函数中有效处理错误?
    在 c++++ 函数中有效处理错误的最佳实践包括:使用异常来处理严重错误,如程序崩溃或安全漏洞。使用错误码来处理非致命错误,如无效输入或文件访问失败。使用日志记录来记录不致命但需要记录的...
    99+
    2024-04-23
    c++ 错误处理
  • PHP中如何处理XML解析错误?
    PHP是一种广泛使用的编程语言,它支持许多不同的文件格式,包括XML。在处理XML文件时,可能会出现解析错误。本文将介绍如何在PHP中处理XML解析错误,并提供一些具体的代码示例。检查XML文件格式在处理XML文件之前,必须确保XML文件的...
    99+
    2023-12-09
    PHP编程 错误处理 XML解析
  • PHP中如何处理JSON解析错误?
    PHP中如何处理JSON解析错误?JSON(JavaScript Object Notation)是一种常用的数据交换格式,用于存储和传输数据。在PHP中,我们经常使用内置的函数json_decode()将JSON字符串解析为PHP对象或数...
    99+
    2023-12-09
    异常处理 PHP 错误处理 JSON 解析错误
  • 域名解析出现错误,该如何解决?
    域名作为网络地址,是我们访问网站的必经之路,域名解析就是把你的域名解析成一个ip地址,在使用的过程中遇到域名解析文件异常也是常有的事。如果域名解析出现错误,该怎么解决呢?   一、打开网页时,显示域名解析错误 解决方法: 1.首先,我们...
    99+
    2023-08-31
    服务器 网络 java
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作