小程序用户信息管理

只需要用户头像和昵称
可以使用 <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。
最后编辑于
?著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 213,992评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,212评论 3 388
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事?!?“怎么了?”我有些...
    开封第一讲书人阅读 159,535评论 0 349
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,197评论 1 287
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,310评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,383评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,409评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,191评论 0 269
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,621评论 1 306
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,910评论 2 328
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,084评论 1 342
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,763评论 4 337
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,403评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,083评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,318评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,946评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,967评论 2 351

推荐阅读更多精彩内容

  • 背景小程序一个比较重要的能力就是获取用户信息,也就是使用 wx.getUserInfo接口。我们发现几乎所有的小程...
    未央大佬阅读 15,456评论 0 23
  • unionId 一个微信开放平台下的相同主体的App、公众号、小程序的unionid是相同的,这样就可以锁定是不是...
    谢大见阅读 63,709评论 1 27
  • 同一个微信开放平台下的相同主体的App、公众号、小程序的unionid是相同的,这样可判断是否同一用户微信针对不同...
    Reg8888阅读 5,253评论 1 7
  • 上一篇文章 手把手教会你小程序登录鉴权 介绍了小程序如何进行登录鉴权,那么一般小程序的用户标识可以使用上文所述微信...
    极乐叔阅读 967评论 0 0
  • 作业:阅读第四章,梳理核心内容和观点 运营的一些宏观规律和逻辑 从宏观上来讲,针对特定时期的特定产品,最有价值的问...
    唐际云阅读 268评论 0 0