在授权开发以后,需要提交小程序密钥,有小程序密钥第三方才有能力获取用户的一些信息,提供一些能力! 平台分别提供多种方式实现微信登录: 1. 调用wx.login接口,静默获取openid 适用场景:无需使用用户头像.昵称.Unionid信息 2. 使用open-data(小程序)或者开放数据域(小游戏)的方式展示用户信息(无需用户授权) 适用场景:需要在前端“展示”用户头像.昵称信息,但不需要获取Unionid 3.使用button(小程序)或UserInfoButton(小游戏)组件,用户点击…
在微信小程的开发中,登录问题,一定要按照这样的顺序 1. 小程序请求login,拿到code 然后传给服务端:  2.服务端拿到code 到微信服务器拿到sessionKey :3.然后小程序调用getuserinfo接口拿到encryptedData,iv,然后给服务端:4.服务端拿到客户端的encryptedData,vi还有之前的sessionKey去解密得到 unionId等用户信息:不然就会出现你这样的问题,你这种情况偶然出现的原因就是 你在服务端还未去获取sessionKey的时候你…
1. 前言 原本打算把Spring Security中OAuth 2.0的机制讲完后,用小程序登录来实战一下,发现小程序登录流程和Spring Security中OAuth 2.0登录的流程有点不一样,就把写了半天的东西全部推翻了.但是,但是过了一天之后,突然感觉又可以了.我们来一起试一试. 2. 小程序登录流程分析 小程序的登录流程是这样的: 而在Spring Security中的OAuth 2.0 Code模式是这样的: 从这两张图上看最大的差别就是微信小程序中获取code不需要通过后端服务…
小程序官方流程图如下,官方地址 : https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/login.html : 如果此图理解不清楚的地方,也可参看我的博客 : https://www.cnblogs.com/ealenxie/p/9888064.html 本文是对接微信小程序自定义登录的一个完整例子实现 ,技术栈为 : SpringBoot+Shiro+JWT+JPA+Redis. 如果对该例子比较感兴…
登录与授权 官方文档 一.登录 登录流程时序 说明: 调用 wx.login() 获取 临时登录凭证code ,并回传到开发者服务器. 调用 code2Session 接口,换取 用户唯一标识 OpenID 和 会话密钥 session_key. 之后开发者服务器可以根据用户标识来生成自定义登录态,用于后续业务逻辑中前后端交互时识别用户身份. 注意: 会话密钥 session_key 是对用户数据进行 加密签名 的密钥.为了应用自身的数据安全,开发者服务器不应该把会话密钥下发到小程序,也不应该对…
最近团队在开发一款小程序,都是新手,一边看文档,一边开发.在开发中会遇到各种问题,今天把小程序登录这块的流程整理下,做个记录. 小程序的登录跟平时自己APP这种登录验证还不太一样,多了一个角色,那就是微信服务器. 根据微信官方提供的登录流程时序图可以清楚的了解小程序登录需要多少个步骤,下面我们来总结下: 小程序启动,通过wx.login()获取code 开发者服务器需要提供一个登录的接口,参数就是小程序获取的code 登录接口收到code后,调用微信提供的接口进行code的验证 得到验证结果,成…
先了解下SSO 对于单点登陆浅显一点的说就是两种,一种web端的基于Cookie.另一种是跨端的基于Token,一般想要做的都优先做Token吧,个人建议,因为后期扩展也方便哦. 小程序也是呢,做成token的形式是较好的. 流程图 PS:图中4的文字打错了~ 1.启动服务 2.小程序初次加载app.js校验token,使用code去换取token 3.检测User信息是否存在code,不存在则注册新用户,最后返回对应用户Id 4.将随机Token与UserId一起存入Redis中 5.返回To…
我们一般都是先获取到微信的 unionid,然后再通过 unionid 去登录自己的网站,就可以关联到用户在自己网站上的 user_id,但是在小程序登录中,有时候可以获取到 unionid,有时候获取不到,在获取不到 unionid 的情况下,用户无法正常登录网站.   UnionID机制说明: 如果开发者拥有多个移动应用.网站应用.和公众帐号(包括小程序),可通过 unionid 来区分用户的唯一性,因为只要是同一个微信开放平台帐号下的移动应用.网站应用和公众帐号(包括小程序),用户的 un…
首先呢,“登录”.“授权”.“授权登录”,是一样的意思,不用纠结. 写小程序授权登录的代码前,需要了解清楚openid与unionid的区别,这里再简单介绍一下: 腾讯有个 “微信·开放平台”,只有企业才能注册账号,可理解为微信体系里,最顶级的账号.官网地址:https://open.weixin.qq.com 除了这个微信开放平台,还有另一个叫做 “微信公众平台”,可注册四种账号,包括服务号.订阅号.小程序.企业微信.也就是说,公众号(服务号和订阅号可统称为公众号)占一个账号,小程序也占一个账…
微信小程序登录 wx.login(Object object) 调用接口获取登录凭证(code).通过凭证进而换取用户登录态信息,包括用户的唯一标识(openid)及本次登录的会话密钥(session_key)等.用户数据的加解密通讯需要依赖会话密钥完成. code 换取 session_key 这是一个 HTTPS 接口,开发者服务器使用登录凭证 code 获取 session_key 和 openid.其中 session_key 是对用户数据进行加密签名的密钥.为了自身应用安全,sessi…