微信小程序开发获取用户授权(小程序获取用户微信号授权)

小程序开发 59 0

本篇文章给大家谈谈微信小程序开发获取用户授权,以及小程序获取用户微信号授权对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

微信小程序用户授权登录

1、appid: 微信小程序/公众号的唯一凭证,即 AppID。

获取途径:可在「微信公众平台 - 设置 - 开发设置」页中获得。(需要已经成为开发者,且帐号没有异常状态)

用途:小程序的 AppID 相当于小程序平台的一个身份证,会在很多场景中使用,比如小程序的登录、授权等

2、openID: openID 是微信生态下 应用的唯一标识 , ,即同一个用户在不同的小程序下的openid是不同的。

获取途径:调用 auth.code2Session 接口,通过code(登录凭证,调用wx.login获取)+appid+appsecret(小程序密钥,获取方式和appid一样)可以换取openid,即 静默授权。

用途:用于在开发者系统中标识用户信息

3、UnionID:UnionID 是微信生态下 用户的唯一标识 ,换句话说,同一用户,对同一个微信开放平台下的不同应用,UnionID是相同的。

获取途径:绑定了开发者帐号的小程序,可以通过以下途径获取 UnionID。

1)开发者可以直接通过 wx.login + code2Session 获取到该用户 UnionID,无须用户授权。

2)小程序端调用云函数时,可在云函数中通过 Cloud.getWXContext 获取 UnionID。

用途:标识同一个微信开放平台下的用户,可用于去重判断

也就是我们常用的微信移动端/PC端之间的扫码登录,PC端用微信扫码登录,微信移动端确认授权登录后,应用可以从微信拿到用户的open id或union id,将微信获取的用户信息与自己账户体系中的用户身份进行关联;

需要用户确认登录,这样可以通过用户的个人确认,获取用户全面的信息,无论是否关注相关微信公众号等都可以获取。

1、静默授权不需要用户确认,只需要用户访问某个网页,属于嵌套在普通网页里的授权形式,但是只能获取到用户的唯一标示openid和union id,无法拿到用户的微信头像、微信名称等个人信息,对于用户的简单认证还是很有用的。

2、静默授权的过程:

1)调用 wx.login() 获取 临时登录凭证code

2)调用 auth.code2Session 接口,换取用户唯一标识 openID

3)调用本地后台服务,将 openID 映射到本地的 userId

微信开发文档-小程序登录流程

参考文章:

1、 【微信小程序用户授权登录】

2、 微信第三方登录(静默授权和非静默授权)

3、 openid会变吗?微信小程序开发中的appid、openid、unionid使用总结

微信小程序授权登录最佳实践

公司业务开展,最近完成了一个微信小程序的开发。场景是这样,同一微信开放平台下拥有相同主体的APP和微信小程序来完成同样的业务,用户进入app或者微信小程序时必须获取用户的unionid来确认当前的用户身份,完成登录。小程序“获取用户信息”api(getUserInfo)的调用方式和之前相比有了较大更新,优雅的实现用户授权和登录非常重要,以下是我在微信小程序授权登录相关流程在开发时候的实现思路和总结,分享如下。

说明:

你可以简单的理解为

如果开发者在多个移动应用、网站应用和公众帐号之间有统一用户账号的需求,需要前往微信开放平台(open.weixin.qq.com)绑定公众号后,便可利用UnionID机制来满足上述需求。

用户在开放平台的唯一标识符

你可以简单的理解为:

微信针对不同的用户在不同的应用下都有唯一的一个openId, 但是要想确定用户是不是同一个用户,就需要靠unionid来区分。一般自己的后台都会有自己的一个用户表,每个用户有不同的userid。也就是说同一个用户在同一个微信开放平台下的相同主体的应用对应着相同的userid,unionid以及不同的openid。所以在用户登录进来的时候,我们只能靠微信返回给我们的unionid去判断是不是同一个用户,在去关联我们的用户表,拿到对应的userid。

绑定了开发者帐号的小程序,可以通过下面3种途径获取UnionID。

当用户满足条件2和3时,开发者可以直接通过wx.login获取到该用户的unionid, 否则必须调用接口 wx.getUserInfo ,额外需要注意的事就是妥善处理用户拒绝授权的情况。

在真实的业务场景中,我们希望,用户进入小程序时,未登录情况下可以正常浏览商品,对小程序有个基本的认知,不要直接弹出框要求用户授权,否则会干扰用户,导致新用户的流失,当用户需要使用一些高级功能和场景,这个时候再去要求用户授权,这样用户授权的几率会大大提高。

将登录的逻辑封装ajax

流程:

封装的意义

不再关注当前接口是否需要登录,用户是否已授权,所有请求直接调用 ajax() ,在必要的时候完成一切登录以及授权流程。小程序入口页面增加,业务拓展的时候,你只需要专注于业务实现。

参考资料

微信小程序怎么重新授权 微信小程序如何重新授权

在小程序的设置界面通知开发者删除获取的信息,然后再次登录小程序授权即可。

我们都知道,现在小程序大部分都是要授权自己的信息才能使用,有时我们可能想重新授权,那我们要怎么操作呢?

下面我以安卓微信8.0.28版本为例,教一下大家怎么重新授权小程序。

步骤1、打开微信后下拉微信主界面

步骤2、点击需要重新授权的小程序,如果此下拉页面没有,可以点击更多,或者搜索,找到需要的小程序

步骤3、进入小程序之后点击右上角【...】

步骤4、点击【设置】

步骤5、点击【小程序已获取的信息】

步骤6、点击【管理】

步骤7、点击各项信息前面的红色带白线的标识,再点击【通知开发者删除】

步骤8、等待删除后,重新打开小程序允许授权即可

微信小程序用户授权

开发微信小程序中,经常会用到获取一些用户权限的页面,比如你要登录,就要获取 个人信息 、你要做人脸识别,就要获取 相机权限 、你要做位置地图功能、就要获取用户的 位置权限 ,你要将图片保存在用户的相册,需要获取 相册权限 等等

微信的 scope 流程:

大多数功能都是没有授权不可用的,一般会检测是否开启权限,然后如果开启了就继续使用,没开启就给出提示继续请求授权..如果还是拒绝 就给出提示 然后让用户手动去设置页打开...

微信小程序获取用户信息

1、open-data/open-data :只是简单的获取头像、用户名用于显示

其中,type="userAvatarUrl"是获取用户头像,type="userNickName"是获取用户昵称,具体使用详情查看 小程序开发文档 ,此方法仅用于直接简单的展示用户信息。

2、使用 button open-type="getUserInfo"获取用户信息

在用户未授权过的情况下调用此接口,将不再出现授权弹窗,会直接进入 fail 回调。

在用户已授权的情况下调用此接口,可成功获取用户信息。

1、在项目首页直接调用getUserInfo方法,若从未授权过,跳转到授权页面引导用户手动授权

需注意: bindgetuserinfo="onGetUserInfo"

用户点击该按钮时,会返回获取到的用户信息,回调的detail数据与wx.getUserInfo返回的一致,open-type="getUserInfo"时有效。

所以,不再需要写设置页提示框以及对应的设置页面,好方便啊!!!

微信小程序开发为什么一直获取权限

button 组件去触发 getUserInof 接口。在用户进入小程序的时候,判断用户是否授权了,如果没有授权的话就显示授权页面,让用户去执行授权的操作。如果已经授权了,则直接跳过这个页面,进入首页。对于多数小程序商户来说,所开发的小程序都是基于微信生态而建立的用户授权登陆体系。用户只要打开小程序后就可以一键授权允许小程序使用自己的微信头像,昵称,手机号或相关信息,轻松完成一键授权登录动作。但随着小程序生态的发展,小程序技术不再是 BAT 的专属, 能够运行上架小程序的APP不止微信、支付宝、头条、百度这些超级APP了,越来越多的APP都能够拥有小程序运行能力。那么当这些小程序商家将之前所开发的微信小程序,能否平滑迁移至其他APP进行上架,并继续沿用微信授权登录体系呢?FinClip能够实现:首先,用户需要将由FinClip 设计的小程序授权页面增加至已有的小程序代码包之中并提交审核,随后将关联的微信小程序的原始 ID,授权页面链接分别填入「关联微信登录」弹窗进行关联,当用户打开非微信平台小程序时,如需要调用登录体系,则会引导用户打开微信查看对应页面进行授权,由FinClip完成用户登录数据同步。

作者:FinLion

链接:

来源:知乎

著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

微信小程序开发获取用户授权的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于小程序获取用户微信号授权、微信小程序开发获取用户授权的信息别忘了在本站进行查找喔。

扫码二维码