微信小程序的鉴权过程

微信小程序的鉴权过程主要包括以下几个步骤:

  1. 调用 wx.login() 生成临时登录凭证 code

    • 小程序前端调用 wx.login() 接口,获取一个临时的登录凭证 code,该凭证的有效期为五分钟。
  2. code 发送到开发者服务器

    • 小程序前端通过 wx.request()code 发送到开发者服务器。
  3. 服务器端调用 auth.code2Session 接口

    • 服务器端接收到 code 后,调用微信提供的 auth.code2Session 接口,传入 appidsecretjs_codegrant_type 参数,换取用户的 openidsession_key
  4. 生成自定义登录态 token

    • 服务器端根据 openidsession_key 生成自定义登录态(可以理解为 token),并将 token 响应给前端。
  5. 前端存储和携带 token

    • 前端将 token 存入 Storage 中,并在后续的请求中携带 token
  6. 后端解密验证

    • 后端在接收到请求时,通过 token 解密获取 openid,判断用户身份,并进行相应的逻辑处理。

代码示例:

一、前端(微信小程序)

  1. 获取code并发送到后端
    • 在小程序的登录页面:
    Page({
         
         
      onLoad: function () {
         
         
        wx.login({
         
         
          success: res => {
         
         
            if (res.code) {
         
         
              wx.request({
         
         
                url: 'https://your - server - url/login',
                method: 'POST',
                data: {
         
         
                  code: res.code
                },
                
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值