如果开发者拥有多个移动应用、网站应用、和公众帐号(包括小程序),可通过 UnionID 来区分用户的唯一性,因为只要是同一个微信开放平台帐号下的移动应用、网站应用和公众帐号(包括小程序),用户的 UnionID 是唯一的。换句话说,同一用户,对同一个微信开放平台下的不同应用,unionid是相同的。所以我们有时候需要获取这个UnionID

小程序全套学习视频:从入门到项目

微信小程序从零基础到电商项目实战-学习视频教程-腾讯课堂​ke.qq.com

登录流程

流程解析

1. 客户端获得code,并将code传给第三方服务端(后台)

微信小程序端调用wx.login,获取登录凭证(code),并调用接口,将code发送到第三方客户端

2. 第三方服务端用code换session_key和openid

小程序端将code传给第三方服务器端,第三方服务器端调用接口,用code换取session_key和 openid (后台服务器带着前端发送的code去访问微信后台的接口)

3. 第三方服务端生成新的session_key和 openid

第三方服务器端拿到请求回来的session_key和openid,发送到客户端

4. 正常请求

小程序每次请求都将openid 放在请求头里,第三方服务端解析判断合法性,并进行正常的逻辑处理

小程序 wx.checkSession 校验登陆态

  • success :接口调用成功,session_key未过期;
  • fail :接口调用失败,session_key已过期;

代码演示

代码分两种演示:第一种自己启动了本地的后台 访问微信公共平台 另外一个会给大家提供一个模拟演示的接口 获取session_key openid

登录页.wxml

可以只是一个简单的按钮 点击 button去登录

登录页.js

这样就登录完成了。

再次进入页面 自动登录

如果没有后台转换的接口 又想要模拟登录 后台返回的openid和session_key 代码如下:

bindGetUserInfo: function (e) {if (e.detail.userInfo) {var that = this;//点击按钮就是授权了 可以获取用户头像 昵称
console.log(e.detail.userInfo);wx.login({success: res => {// 获取到用户的 code 之后:res.codeconsole.log("用户的code:" + res.code)// 可以传给后台,再经过解析获取用户的 openid// 或者可以直接使用微信的提供的接口直接获取 openid ,方法如下:wx.request({url: 'https://api.weixin.qq.com/sns/jscode2session', //接口地址data: {appid: '注册的appid',secret: '生成的sercret',js_code: res.code,grant_type: 'authorization_code'},header: {'content-type': 'application/json' //默认值},success: function (res) {console.log(res.data)OPEN_ID = res.data.openid;//获取到的openid  SESSION_KEY = res.data.session_key;//获取到session_key  //获取数据后 把登录的信息 存储在本地 存储--再次进入判断是否有存储 有直接请求login 没有引导授权//如果返回成功,则将OPEN_ID和SESSION_KEY提交请求给服务器wx.request({url: 'xxxx/login.jsp',data: {open_id: OPEN_ID,session_key: SESSION_KEY,gender: GENDER},header: {'content-type': 'application/json' //默认值},method: 'GET'})}});}});that.setData({isHide: false,});} else {//用户按了拒绝按钮wx.showModal({title: '警告',content: '您点击了拒绝授权,将无法进入小程序,请授权之后再进入!!!',showCancel: false,confirmText: '返回授权',success: function (res) {// 用户没有授权成功,不需要改变 isHide 的值if (res.confirm) {console.log('用户点击了“返回授权”');}}});}}

微信小程序云开发用户身份登录_微信小程序开发用户授权登录(下)相关推荐

  1. mysql以user1登录_在mysql中创建用户后不能本地登录的解决方法

    在安装完成MySQL后,我们通常添加拥有相应权限的普通用户用来访问数据库.在使用用户本地登录数据库的时候,经常会出现怎么登录也无法登录的情况,但是从其他的mysql客户端却可以登录. [root@my ...

  2. Arduino开发(二)_基于Arduino UNO开发板的RGB灯光控制方法

    Arduino开发(二)_基于Arduino UNO开发板的RGB灯光控制方法 首先,我们来看一下Arduino UNO开发板的具体引脚排列,如下图所示, 再了解一下三色RGB LED模块,如下图所示 ...

  3. 微信小程序云开发用户身份登录_微信小程序+云开发实现欢迎登录注册

    前段时间和同学一起做了一个小程序,用来参加学校的比赛,完成后把项目内容分割一下,贴到博客上面,算是学习记录和总结吧. 因为是学生党,而且并没有很大的需要,所以选择了微信小程序为开发者提供的" ...

  4. 微信小程序云开发用户身份登录_微信小程序云开发实现授信注册登录?

    页面样式想实现点此登录然后弹出授权用户确定后显示用户头像和昵称. 后台实现,用户点击授权后,获取用户信息和openid,去云数据库里找,如果没有就获取用户信息保存.然后再使用openid去查找用户信息 ...

  5. 一个程序如何连接到外网_如何从头开始开发一个微信小程序

    网上有很多的人在问:怎么开发一个微信小程序?今天我来给大家详细讲讲如何申请开发并部署一个微信小程序,大家看完这篇文章后就能够自己运营一个属于自己的小程序了. 现在的小程序有百度小程序,头条小程序,支付 ...

  6. 小程序开发用什么编程语言_微信小程序开发教程是什么?费用多少?

    微信小程序如今已经非常常见,渗透到了我们日常生活的方方面面,包括生活服务.出行.点餐.电商购物.企业展示--商家可以开发适合自己行业的小程序,以吸引线上用户,同时提高自身服务运营效率.不过这些不同种类 ...

  7. 微信小程序开发分销制度济南_微信小程序分销规则你清楚吗?

    大家在刚开始接触小程序的时候,好多人都被其中的分销功和简洁应用的模式所带来的红利所吸引,但到如今,使用小程序的用户是多了起来,但真正把小程序运营好的商家却很少.这是为什么呢,原因就在于,商家还不会利用 ...

  8. 小程序内嵌h5页面分享_微信小程序webview内页面分享

    因为项目原因,之前在微信小程序内部使用 webview 嵌套了 h5 页面,现在要添加一个新的功能,用户在哪个页面进行了分享,被分享的用户从链接进来就跳转到哪个分享页面. 先了解一下 web-view ...

  9. 使用React,Spring Boot和用户身份验证构建CRUD应用程序

    建筑物身份管理,包括身份验证和授权? 尝试Stormpath! 我们的REST API和强大的Java SDK支持可以消除您的安全风险,并且可以在几分钟内实现. 注册 ,再也不会建立auth了! Re ...

最新文章

  1. [zz]libvirt中CPU和内存的细粒度管理机制
  2. laravel ajax login,设置在ajax上记住laravel登录
  3. java技术突破要点
  4. AndroidStudio 如何关闭 Install Run
  5. 9-5:C++多态之多态和继承的经典题目以及面试中常考内容
  6. 你是外包,麻烦不要偷吃零食,注意素质...
  7. mysql获取当前时间,前一天,后一天
  8. 用python写出九九乘法表
  9. 深圳.NET俱乐部10月Asp.net技术讨论会小结暨超级英雄大赛事宜
  10. WINDOWS访问SAMBA提示没有权限
  11. 经纬创投:我们研究了200多家公司的融资条款,告诉你如何防止被“套路”
  12. 好程序员分享html图片绝对路径改相对路径
  13. ppt插入计算机时间,WPS之PPT插入自动更新的时间设置
  14. oracle vm 介绍,Oracle VM 概述
  15. 天使投资人杨宁:百度轻应用让移动时代很多不可能成为可能
  16. Java实现 LeetCode 383 赎金信
  17. 地平线征程5「卖爆」:理想L8首发,国产大算力芯片开启量产大潮
  18. VC6命令行编译配置
  19. vue element upload组件 file-list的动态绑定
  20. 金蝶计算机快捷键,(完整版)金蝶软件快捷键

热门文章

  1. CentOS 6/7 忘记root密码,重新设置的方法
  2. 周鸿祎重做路由器,到底在做什么?
  3. Struts2 学习系列 (3) 跳转类型与通配符映射
  4. POJ 3342 树形DP+Hash
  5. Java局部变量final
  6. ubuntu下关于 undefined reference to 'pcap_flex'错误 以及 无法导入/找到libpcap.so.1错误...
  7. mysql5.5安装
  8. 异步委托实现多线程winform控件编程
  9. manjaro无效的软件包
  10. mysql中blob_MySQL中的BLOB类型