微信小程序登录接口调换(更换登录对接方式)

方法1 清除用户的token存储从新进行登录操作,并覆盖登录的token

方法2 通过用户接口返回来进行用户的登录信息操作,用户token的有效性交由后端去做判断,

两个方法都有各自的优点,和缺点,请自行考虑。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Java编写微信小程序登录接口的一般步骤如下: 1. 获取微信小程序登录凭证(code),该凭证由微信小程序提供。 2. 将code发送给微信服务器,换取用户的唯一标识openid和会话密钥session_key。 3. 对session_key进行解密,获取用户的唯一标识和用户信息。 4. 将用户信息存储到数据库中,返回用户相关信息给微信小程序。 下面是一个简单的Java代码示例: ```java @RestController @RequestMapping("/wx") public class WxLoginController { @Autowired private UserService userService; @PostMapping("/login") public ResponseData login(@RequestBody WxLoginDTO wxLoginDTO) { String code = wxLoginDTO.getCode(); String url = "https://api.weixin.qq.com/sns/jscode2session?appid=APPID&secret=SECRET&js_code=" + code + "&grant_type=authorization_code"; RestTemplate restTemplate = new RestTemplate(); String response = restTemplate.getForObject(url, String.class); JSONObject jsonObject = JSON.parseObject(response); String openId = jsonObject.getString("openid"); String sessionKey = jsonObject.getString("session_key"); String userInfo = wxLoginDTO.getUserInfo(); // 解密用户信息 WxEncryptedData wxEncryptedData = JSON.parseObject(userInfo, WxEncryptedData.class); String decryptedData = WxMiniProgramUtils.decrypt(wxEncryptedData.getEncryptedData(), sessionKey, wxEncryptedData.getIv()); // 存储用户信息 userService.saveUser(openId, decryptedData); // 返回用户信息 User user = userService.getUser(openId); return ResponseData.success(user); } } ``` 其中,WxLoginDTO是一个封装了code和用户信息的DTO类,WxEncryptedData是一个封装了加密数据的DTO类,WxMiniProgramUtils是一个解密工具类,User是一个封装了用户信息的实体类。此外,需要在配置文件中配置微信小程序的appid和secret。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值