美文网首页
小程序用户信息管理

小程序用户信息管理

作者: LoveBugs_King | 来源:发表于2019-05-31 15:26 被阅读0次

只需要用户头像和昵称
可以使用 <open-data /> 组件:

<open-data type="userAvatarUrl"></open-data>
<open-data type="userNickName"></open-data>

需要获取用户基本信息(不包括敏感信息)
一、可以使用wx.getUserInfo()

条件

1、该方法需要用户授权过才能返回用户基本信息。
2、在用户未授权过的情况下调用此接口,将不再出现授权弹窗,会直接进入 fail 回调。在用户已授权的情况下调用此接口,可成功获取用户信息。
3、授权调用方式,看文档

二、下面方案二会介绍~

获取用户敏感信息(openid、unionId、seesion_key等)
一、可以使用wx.getUserInfo()+加密数据解密算法
条件:同上。

二、下面方案二会介绍~

方案二

1、前台通过wx.login({})从微信服务器拿到jscode,向开发服务器发送jscode。接口文档
2、开发服务器以jscode/appid/app_secriet为条件,向微信服务器交换用户敏感信息(openid/session_key/unionid)。接口文档
3、以openId/unionId为核心数据,把用户信息录入数据库管理起来。
4、开发服务器把用户数据管理起来后,小程序就可以通过jscode,通过开发服务器提供的各种业务接口获取/上传数据 用户相关啦!
题外:
1、开发服务器把用户的openid经过算法处理返回小程序一个userId(出于安全考虑)。
2、权限控制也在小程序内完成,开发服务器可以返回一个字段来做。

问题:开发服务器可以拿到用户敏感信息,怎么拿到用户基本信息?
开发服务器会给小程序提供2个接口:
1、上面说了,小程序把jscode和用户头像发给开发服务器,这个作为登录接口,便于开发服务器向微信服务器获取敏感信息
2、开发服务器向小程序提供一个上传信息接口,小程序把用户基本信息通过getUserInfo获取到后,和jscode一起上传到开发服务器。开发服务器把基本信息和敏感信息关联起来,存入数据库管理起来。

总结一下:
对于基础用户信息,昵称/头像/性别/国家/省份/城市/语言,小程序在用户授权后通过getUserInfo自己都可以拿到。
对于敏感数据(openid/session_key/unionid),小程序是不能直接拿到的,开发服务器有两种获取方式:
1、直接通过小程序传过来的jscode,加上appid/app_secriet,向微信服务器直接获取。
2、小程序把通过wx.login({})拿到的jscode 和 通过getUserInfo获取到encryptedDataiv传给开发服务器,开发服务器向微信服务器通过jscode换取(openid/session_key/unionid)。开发服务器拿到encryptedDataivsession_key,可以通过加密数据解密算法去解密得到敏感数据。

关于微信小程序登录:
1、我们通过wx.login({})获取code传给开发服务器,开发服务器通过code/appid/appsecriet去微信服务器获取openid/unionid/session_key。这个session_key就是小程序用户的登录态,它会过期。我们可以通过wx.checksession()判断用户登录是否过期。
2、开发服务器会把用户的openid/账号/密码/用户基本信息(除了openid都是小程序传过来的),关联起来储存进数据库。
3、用户一进入小程序,就会去获取code传给开发服务器,开发服务器换取session_key,通过openid去查找该用户查看session_key是否和之前一致,不一致就是过期了,返回给小程序是否过期消息。如果过期,小程序就跳到登录页面,没过期就跳去账户首页。
4、另外开发服务器的每一个接口都要求小程序要传一个token令牌字段,作为登录态,检查用户身份是否正确及登录是否过期。
5、token令牌怎么得到?我们为了安全,一般不把session_key直接直接给到小程序,而是把session_key通过算法得到一个userId,在开发服务器的登录接口返回给小程序,小程序储存起userId,每次请求都带上这个userId。
不需要服务器登录的用户呢?
既然不需要服务器登录,那也就不需要判断用户身份和登录是否过期。也就不需要登录系统。那就无所谓了。

疑问:为什么开发服务器通过jscode就已经获取到敏感数据了,为什么还要去解密???

说是,jscode只能获得openid,解密才能获得unionId。但文档说jscode也能获取openid。

相关文章

  • 小程序用户信息管理

    只需要用户头像和昵称可以使用 组件: 需要获取用户基本信息(不包括敏感信息)一、可以使...

  • 新特SDK

    概述 如果你想要接入新特的用户程序接口,可以通过接入该SDK快速访问新特的用户程序,接口包含了用户信息管理,用户登...

  • 小程序推广

    小程序推广障碍 1.小程序不能被用户关注;2.小程序不能给用户推送消息,不能唤回流失用户;3.小程序不能内嵌网页和...

  • 如何提高小程序的转化率?

    微信小程序定制开发 首先,想要提升小程序的转化率,必须先提升小程序给用户带来的用户体验,如果用户点击小程序,打开所...

  • 青否小程序,轻松让用户给小程序打星标!

    之前想要让小程序在用户小程序列表中有更靠前的位置,只能寄希望于用户多次进入小程序。一旦用户在使用小程序的中间使用了...

  • 小程序登录为什么能做到更好的体验

    小程序登陆为啥能做得这么简洁优雅呢?首先,我们需要大致了解小程序用户体系。 小程序用户体系 对于每个小程序,微信都...

  • 微信小程序来了,如何运营推广?

    小程序运营思路 我们要解决的是:如何让精准用户知道我们的小程序;如何避免用户玩完就走【降低用户取消订阅/卸载小程序...

  • 第二节:最全小程序推广36式,谁说微信10亿流量与你无关!

    06 布局附近的小程序 在【附近的小程序】中,小程序会自动展现给周边用户。用户可以通过小程序就能直接购买服务,或者...

  • 【小程序入门集锦】2,小程序商店

    知晓程序:小程序商店 有分类,有精品推荐,每个小程序有仿App的截图、简介、用户评价。用户无处可评小程序,在这里有...

  • 小程序的十大创新能力。

    1、小程序转发分享 用户可以将小程序通过小程序页的形式分享给好友和微信群,便于用户直达服务。 2、微信客服 小程序...

网友评论

      本文标题:小程序用户信息管理

      本文链接:https://www.haomeiwen.com/subject/kudwtctx.html