微信小程序怎么获取openid及用户信息

小编给大家分享一下微信小程序怎么获取openid及用户信息,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!

1. 获取openid

1.1 获取code

调用接口获取登录凭证(code)进而换取用户登录态信息,包括用户的唯一标识(openid) 及本次登录的会话密钥(session_key)。用户数据的加解密通讯需要依赖会话密钥完成。

wx.login({
 //获取code
 success: function(res) {
   code = res.code //返回code
 }
})

1.2 获取openid

拿到上一步获取的code,结合小程序 appid 和 secret 请求接口https://api.weixin.qq.com/sns/jscode2session?appid=APPID&secret=SECRET&js_code=JSCODE&grant_type=authorization_code 换取openid,与 openid 一同被返回的,还包括 session_key,其中 session_key 是对用户数据进行加密签名的密钥。为了自身应用安全,session_key 不应该在网络上传输。

wx.request({
 url: 'https://api.weixin.qq.com/sns/jscode2session?appid=APPID&secret=SECRET&js_code='+ code +'&grant_type=authorization_code',
 data: {},
 header: {
   'content-type': 'application/json'
 },
 success: function(res) {
  openid = res.data.openid //返回openid
 }
})

2. 获取用户信息

2.1 在app.js中创建该全局方法

//app.js
getUserInfo:function(cb){
 var that = this
 if(this.globalData.personInfo){
  typeof cb == "function" && cb(this.globalData.personInfo)
 }else{
  //调用登录接口
  wx.login({
   success: function () {
    wx.getUserInfo({
     success: function (res) {
      that.globalData.personInfo = res.userInfo
      typeof cb == "function" && cb(that.globalData.personInfo)
     }
    })
   }
  })
 }
}

2.2 实例化全局方法获取用户信息

var that = this;
//调用应用实例的方法获取全局数据
app.getUserInfo(function (personInfo) {
 //更新数据
 that.setData({
  personInfo: personInfo
 })
})

看完了这篇文章,相信你对“微信小程序怎么获取openid及用户信息”有了一定的了解,如果想了解更多相关知识,欢迎关注本站行业资讯频道,感谢各位的阅读!

相关推荐:

Python OAuth 与 OpenID Connect 的配置

oauth2.0仅负责授权,openidconnect(oidc)才是基于其扩展的认证协议,必须显式添加openidscope才能获取id_token并完成用户身份验证。 OAuth2.0和OpenIDConnect不是同一个东西,别混着配 很多人一上来就照抄oauthlib或authlib的OAu...

小程序自定义属性如何获取

这篇文章主要介绍了小程序自定义属性如何获取,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。小程序自定义属性怎么获取的自定义属性的标识:data-attrName,其中后面的“attrName”为随意命名,前缀“data-”是必须的。小程...

小程序如何获取当前日期

这篇文章给大家分享的是有关小程序如何获取当前日期的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。实现代码:var timestamp = Date.parse(new Date()); var date =&nbs...

已经发布的小程序搜索不到怎么解决

这篇文章主要介绍已经发布的小程序搜索不到怎么解决,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!已经发布的小程序搜索不到怎么解决解决方法:1、在大家遇到小程序发布后搜索不到的情况时,首先需要登录自己的小程序平台,由于小程序审核通过后,还需要登录微信小程序平台“点击发布”这一项,...

小程序开发如何封装网络请求

小编给大家分享一下小程序开发如何封装网络请求,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧! 在这里首先声明一个小程序文档的bug,导致大伙们在请求的时候,服务器收到不到参数的问题示例代码:wx.request({ &nbs...

怎么使用Promise封装小程序wx.request

这篇文章主要介绍了怎么使用Promise封装小程序wx.request,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。因为业务需要,每个http请求都要加上一个请求头,所以每次都要写很多重复的代码。现在尝试把wx.request简单的封...

微信小程序可以用vue.js吗

这篇文章主要介绍微信小程序可以用vue.js吗,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!微信小程序能用vue.js,mpvue是一款使用【Vue.js】开发微信小程序的前端框架,使用此框架,开发者将得到完整的【Vue.js】开发体验,同时为H5和小程序提供了代码复用的能力...

小程序中怎么引用其他js文件

这篇文章主要介绍了小程序中怎么引用其他js文件,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。微信小程序如何引用其他js文件1.我们先建立一个common.js文件,在common.js编写我们的程序,function myf...