关于JAVA虎牙小程序后端开发的一点经验

最近参加了虎牙小程序挑战赛,在团队中的负责后端开发,由于之前没有接触过小程序开发,刚开始的时候也是一头雾水,完全找不到方向,然后自己慢慢摸索才找到一些方法,现在分享给大家。

虎牙小程序提供丰富的SDK在这里插入图片描述

具体SDK信息请查询虎牙小程序官网
作为后端开发,这些已有的SDK功能我们就不用再开发了,我们只需要写文档上没有的接口,而接口就有权鉴的问题。虎牙小程序是前端利用hyExt.request接口转发后端的请求,使得后端在接收请求的时候在请求头可以收到authorization信息,在这里插入图片描述但作为后端,我们不用管那么多,只要解析请求头的authorization是不是能正常解密,然后写好自己的接口就行啦。

authorization解密方式

authorization是jwtToken
分成三部分

Header
Payload
Signature

通过英文点号"."拼接成 Header.Payload.Signature

具体的大家请自行查询,这里就不细说jwt了,只跟大家说如何具体操作。
第一步 加载依赖

<dependency>
  <groupId>io.jsonwebtoken</groupId>
  <artifactId>jjwt</artifactId>
  <version>0.6.0</version>
</dependency>

第二步 请求头接收 authorization并解析

@RequestMapping("/test")
public Map test(HttpServletRequest request){
    String token=request.getHeader("authorization");
    Map resp = new HashMap();
    try {
        Claims claims = Jwts.parser().setSigningKey("123456".getBytes()).parseClaimsJws(token).getBody();
        String profileId= (String) claims.get("profileId");
              catch(Exception n e) {
        resp.put("code", 583);
        resp.put("message", "error");
        return resp;
    }
}
    

这里利用Jwts.parser()方法来解析jwt,
其中,setSigningKey中的“123456”为jwt第三部分的加密密钥,
在虎牙小程序中这个密钥对应的是开发者申请的appId的secret,
如果jwt用此密钥无法被解析,就会抛出异常,
解析结果Claims为jwt包含的一些信息,必比如用户id和等级等。

这就是通过jwt来验证虎牙小程序使用者的身份啦,接口中其他的功能自己写就行了,还是很容易的,因为大部分功能虎牙SDK都包括了。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值