易·威登(Louis Vuitton,1821年8月4日-1892年2月27日),企业家,出生于弗朗什孔泰,路易威登(LV)品牌创始人。
他于1854年在巴黎开了以自己名字命名的第一间皮箱店。一个世纪之后,路易威登成为皮箱与皮件领域数一数二的品牌,并涉及时装、手表等多个领域,傲居奢侈品牌之列。路易·威登被誉为法国历史上杰出的皮件设计大师之一。
其实还蛮简单的,可以说一搜一大把,下面说下两种方式。
自行开发
主要就是通过小程序端直接请求登录获取到code(登录凭证)、如果需要获取用户手机号则需要再次授权需要iv和encryptedData,注意这里授权两次,也可以作为一次处理。
(1) 后端接收到小程序端请求的code,进行解密,可以参考微信小程序开发文档,拿到openId和session_key,这一步如果是已经注册的用户可以直接将后台分配的token一起组成对象存储到redis中,期限7-30天皆可,先从redis判定这个openId是否已经解析过且已存储为正式用户,是则直接返回系统的登录凭证完成登录。如果不是就需要走第二步。
(2)通过iv和encryptedData解析获取用户的手机号,完成解析后将用户信息存储,并一样存储到数据库和redis中,返回凭证。
2. 使用已经集成好的sdk,使用maven项目直接引入对象的jar即可。
举个栗子 weixin-java-miniapp 可以看下对应的文档说明,使用已经集成好的方法即可。
1.微信小程序端发起请求并携带主要参数2.java后台接收到登录请求后,根据临时凭证code去调用微信接口获取用户唯一标识openId和sessionKey
3.使用openId去查询数据库(openId是会员的的唯一标识)
a.若openId存在,直接登录成功;
b.若openId’不存在,我们把openId写入到数据库,并且让他登录
4.根据openId查询redis数据库,判断openId对应的skey是否存在,如果存在删除原来的老skey以及对应的openId和sessionKey(为了安全,保证每次登录的key都是最新的)
5.通过uuid生成唯一的skey,用openId做键,skey做值,存入到redis中
6.然后把skey做键,openId和sessionKey的json串做值也重新存入到redis中
7.根据解密算法,参数有encryptedData、sessionKey和iv,获取用户信息userInfo,如果userInfo字段不满足需要,可通过userInfo.put( “balance”,user.getUbalance() )添加所需要的字段和值
8.将微信小程序需要的数据封装到map容器中,返回给小程序端
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)