Java教程

微信小程序获取openid用springboot

本文主要是介绍微信小程序获取openid用springboot,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

文章目录

  • 前言
  • 一、openid是什么?
  • 二、微信 前端写法
    • 1.使用wx.login获取code
    • 2.request
  • 三 spring boot 后端写法
    • 1 新建数据模型
    • 2 解析code
  • 总结


前言

在微信中如何获取用户的openid,一般思路如下,首先通过wx.login获取的code,然后解析出code,从而获取到openid


一、openid是什么?

微信用户唯一标识,说白了就是唯一值

二、微信 前端写法

1.使用wx.login获取code

代码如下(示例):

wx.login({
  success (res) {
    if (res.code) {
      //发起网络请求
      wx.request({
        url: 'https://example.com/onLogin',
        data: {
          code: res.code
        }
      })
    } else {
      console.log('登录失败!' + res.errMsg)
    }
  }
})

这里会得到一个 code

code 用户登录凭证(有效期五分钟)。开发者需要在开发者服务器后台调用 auth.code2Session,使用 code 换取 openid、unionid、session_key 等信息

2.request

到时在微信端,调用在springboot写好的解析code的方法
把code,传递给后端


三 spring boot 后端写法

1 新建数据模型

import lombok.Data;

/**
 * 微信code返回信息
 */
@Data
public class JsCodeDto {
    private String openid;//微信用户的唯一标识
    private String session_key;//会话密钥
    private String unionid;//用户在微信开放平台的唯一标识符。本字段在满足一定条件的情况下才返回。
    private Integer errcode;
    private String errmsg;
}

用于接收,解析出来的

2 解析code

需要用到凭证参数

属性类型必填说明
appidstring小程序 appId
secretstring小程序 appSecret
js_codestring登录时获取的 code
grant_typestring授权类型,此处只需填写 authorization_code

在这里插入图片描述

url 地址是固定的 https://api.weixin.qq.com/sns/jscode2session
appid 是每个小程序固定id,在小程序后台就可查询到
secret 是每个小程序秘钥,可在小程序后台获得
js_code 是微信前端wx.login获得的code
grant_type 固定填写authorization_code

请求方法 用到 restTemplate,相对代码比较简洁
然后,jscodeDto,模型中,可提供自己后面的调用

总结

调用openid,是每一个登录比需要操作,思路分前端和后端。前端获取 code,后端解析code,从而得到openid

这篇关于微信小程序获取openid用springboot的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!