首页 > 其他分享 >关于token的生成格式--Bearer头部说明

关于token的生成格式--Bearer头部说明

时间:2023-11-20 11:58:32浏览次数:35  
标签:return Bearer -- token Token new String

1.Bearer头部:好处在于可以让请求方和服务方都快速而准确地识别Token的传递方式,使得身份验证更加规范化和通用化,便于开发和维护。但并没有更安全,且具体使用须前后一致。

2.带Bearer头部的生成和解密如下:

public String createTokenByBao(String userId) {
    Date date = new Date();
    String token = Jwts.builder()
            .setSubject(userId)
            .setIssuedAt(date)
            .setExpiration(new Date(System.currentTimeMillis() + expireTime * 60 * 1000))
            .signWith(SignatureAlgorithm.HS256, secret)
            .compact();
    return "Bearer " + token; // 添加Bearer前缀
}
public Integer getUserIdFromToken(String token) {
        try {
            Claims claims = Jwts.parser()
                    .setSigningKey(LOGIN_TOKEN_SECRET) // 使用相同的签名密钥
                    .parseClaimsJws(token.replace("Bearer ", "")) // 将Token字符串中的Bearer前缀移除,然后将去除Bearer前缀的Token字符串作为参数传递给 .parseClaimsJws() 方法
                    .getBody();

            // 提取openid或其他用户ID字段
            return new Integer(claims.getSubject());
        } catch (JwtException e) {
            // JWT验证异常,令牌无效
            return null; // 可以根据实际需求返回特定的错误标识或抛出自定义异常
        }
    }

3.使用以上方式生成的token样式:

Bearer <JWT Token>
Bearer eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwiaWF0IjoxNTE2MjM5MDIyLCJleHAiOjE1MTYyMzkxMjJ9.Tp6vv-w3fSbJ3vYPnDpC2ucHtUzFZKKQ5HG4BeZMK5c (仅示例)

 

标签:return,Bearer,--,token,Token,new,String
From: https://www.cnblogs.com/baoguiying/p/17843608.html

相关文章

  • java数值前面补零
    Java数值前面补零在Java编程中,有时候我们需要对数字进行格式化,例如在输出时希望数字的前面补零。这在一些情况下是很有用的,比如显示日期、时间、序列号等。在本文中,我们将介绍几种方法来实现Java数值前面补零的操作,并提供相应的代码示例。使用String类的format方法Java中的String......
  • kubernets 设置访问私有仓库的默认秘钥
    背景:设置仓库默认秘钥为了避免每次使用私有镜像部署时,都需要引用密钥,您可将secret添加到namespace的defaultserviceaccount中,参见AddImagePullSecretstoaserviceaccount。否则报错rpcerror:coderequire'dockerlogin':denied:requestedaccesstotheresource......
  • SQL執行更新或刪除時,避免誤操作方法
    1.使用數據表別名儘量使用數據表別名,先對要操作的數據進行查詢,確保數據準確無誤。SELECT*--DELETEw--updatgewset iw_RptId='231110TB201-010'FROMIPQAInsWo wWHEREiw_RptId='231110TB201-010' 2.所有的條件與表同一行在更新或刪除數據時,儘量數據表,條件保持在......
  • SpringBoot 策略模式 切换上传文件模式
    策略模式策略模式是指有一定行动内容的相对稳定的策略名称。我们定义一个接口(就比如接下来要实现的文件上传接口)我们定义所需要实现的策略实现类A、B、C、D(也就是项目中所使用的四种策略阿里云Oss上传、腾讯云Cos上传、七牛云Kodo上传、本地上传)我们通过策略上下文来调用策......
  • EXCEL中逆向查找的十种方法
    逆向查找在Excel中指的是根据某个数值或条件,查找该数值或条件所在的单元格位置。逆向查找可以帮助用户快速定位数据,对于数据分析和处理非常有用。下面将详细介绍在Excel中进行逆向查找的十种方法。一、使用MATCH函数MATCH函数可以在指定范围内查找具体数值或条件,并返回该数值或......
  • 恢复数据的方法
    1.从备份的数据库中恢复【优点】:能完整恢复到恢复时间点的数据,适合大批量数据的恢复【不足】:数据恢复繁锁,所需要时间长从备份数据库解压,导入数据,再恢复相应的数据表需要比较长的时间。数据库越大,所需的时间越长。恢复时间点后的数据丢失,需要从别的方法恢复 2.备份的临......
  • leetcode324场周赛
    一、使三个字符串相等给你三个字符串s1、s2和s3。你可以根据需要对这三个字符串执行以下操作任意次数。在每次操作中,你可以选择其中一个长度至少为2的字符串并删除其最右位置上的字符。如果存在某种方法能够使这三个字符串相等,请返回使它们相等所需的最小操作次数......
  • git add 只暂存权限有改动的文件
    使用命令:gitconfigcore.filemodefalsegitadd. 先将文件内容有改动的先暂存起来,再执行命令:gitconfigcore.filemodetruegitadd. 将所有权限有改动的文件暂存。 ......
  • 安装install的项目的报错sass npm ERR! [email protected] postinstall: `node scripts
    npmERR!codeELIFECYCLEnpmERR!errno1npmERR!node-sass@4.14.1postinstall:`nodescripts/build.js`npmERR!Exitstatus1npmERR!npmERR!Failedatthenode-sass@4.14.1postinstallscript.npmERR!Thisisprobablynotaproblemwithnpm.Thereis......
  • Java -day3
    四方法4.4命令行传递参数main方法也可以传递参数通过cmd命令提示符运行先编译注意包的位置(回退)publicclassDemo03{publicstaticvoidmain(String[]args){for(inti=0;i<args.length;i++){System.out.println(args[i]);......