小程序成长之路_登录获取openid和session_key (五)

 本篇主要讲解登录获取openid和session_key。

登录凭证校验

临时登录凭证校验接口是一个 HTTPS 接口,开发者服务器使用 临时登录凭证code 获取 session_key 和 openid 等。

接口地址:

https://api.weixin.qq.com/sns/jscode2session?appid=APPID&secret=SECRET&js_code=JSCODE&grant_type=authorization_code

话不多说,下面直接粘完整的代码

//app.js
App({
  onLaunch: function() {
    let that = this
    // 登录
    wx.login({
      success: res => {
        if (res.code) {
          // 发送 res.code 到后台换取 openId, sessionKey
          var d = that.globalData;
          var urlVal = 'https://api.weixin.qq.com/sns/jscode2session?appid=' + d.appid + '&secret=' + d.secret + '&js_code=' + res.code + '&grant_type=authorization_code';
          wx.request({
            url: urlVal,
            data: {},
            method: 'GET',
            success: function(res) {
              var obj = {};
              obj.openid = res.data.openid;  //获取到的openid
              wx.setStorageSync('user', obj); //存储openid 
            }
          })
        } else {
          console.log('登录失败!' + res.errMsg)
        }
      }
    })
  },
  globalData: {
    userInfo: null,
    version: "1.7",
    appid: '你的小程序的appid',
    secret: '你的小程序的AppSecret(小程序密钥)'
  },

});

注意:

  1. 会话密钥session_key 是对用户数据进行加密签名的密钥。为了应用自身的数据安全,开发者服务器不应该把会话密钥下发到小程序,也不应该对外提供这个密钥

  2. UnionID 只在满足一定条件的情况下返回

  3. 临时登录凭证code只能使用一次

 详细请参考小程序API:https://developers.weixin.qq.com/miniprogram/dev/api/api-login.html#wxloginobject

 

你可能感兴趣的:(小程序)