小程序中用户信息授权常见问题汇总

简介: 用户信息授权的场景? 场景一:想实现免登,既然是使用支付宝钱包,必然操作用户是支付宝会员,希望用户操作小程序的时候,不再进行二次登录,让用户的体验更好,此时就需要免登功能,即是该用户进来就自动登录成为该小程序的会员。

用户信息授权的场景?

场景一:想实现免登,既然是使用支付宝钱包,必然操作用户是支付宝会员,希望用户操作小程序的时候,不再进行二次登录,让用户的体验更好,此时就需要免登功能,即是该用户进来就自动登录成为该小程序的会员。

场景二:只想拿到用户的唯一编号,也不想在小程序界面上出现授权弹框,就能知道是哪个用户,去做对应业务处理。

场景三:希望能拿到更多的支付宝会员信息,如:昵称、头像、性别等,并落库到自己的会员系统里去。

场景四:仅做界面展示,不需要把信息传给后端。

 

不同场景该如何使用授权的接口或能力呢?

场景一与二的情况下,只需要获得支付宝会员的唯一标识符(user_id)即可,那么用到的支付宝能力有:my.getAuthCodemy.httpRequestalipay.system.oauth.token,简单的交互流程如下:

值得注意的是scope赋值为auth_base即可,该类型仅能获得user_id。

场景三的情况下,不仅需要获得支付宝会员唯一标识符,还需要获得其他信息(详细),那么用到的支付宝能力有:my.getAuthCodemy.httpRequestalipay.system.oauth.tokenalipay.user.info.share,简单交互流程图如下:

值得注意的是scope需要赋值为auth_user。

场景四的情况下,只需要使用小程序的前端接口my.getAuthUserInfo,即可实现渲染的效果。

 

大致的流程已经清楚,接下来实操过程中经常会发生以下的一些疑问:


1、不同类型的授权能否一次性授权完成,例如既需要获取会员信息,又需要获取芝麻分?

A:这是支持的。只需要scope赋值的时候如此赋值即可:scopes:['auth_user','auth_zhima']。但是,建议在保证授权权限最小化的情况下,考虑分开授权。

 

2、code或token无效?

A:官网其实对code、token的作用有做详细的介绍,出现这个错误的原因无非是——

code无效:

已经使用过一次失效了或是超过24小时有效期;

token无效:

scope赋值的信息,与后面调用的接口是不匹配的,例如:scope用的是auth_user,结果后面调用的接口并非alipay.user.info.share,而是芝麻的接口;

token已失效,如:已经刷新了新的token,老token依旧在使用,或是过了令牌有效期等;

 

3、返回的会员信息没有想要的,例如:手机号、身份证之类的?

A:为了保证用户的隐私,这类敏感信息支付宝是不会开放使用的。那么,业务上确实需要怎么办?建议在小程序的前端界面里,增加需要的信息填写项,交由用户判断是否自行录入。

 

4、H5的授权里是有要求配置回调地址的,小程序的授权回调地址在哪里配置?

A:不需要配置。小程序的授权回调是通过success的前端回调函数来触发的,只需要在success里编写相应代码即可。

 

5、审核驳回,原因是首屏授权/强制授权?

A:小程序基于用户体验上的考虑,约束开发者在访问小程序的时候必须先让用户了解这个小程序的服务是什么,干什么用的。之后再在需要授权的地方,调用授权接口,这就是前面提到的授权权限最小化的原则。但是,小程序首页就需要用户登录,且有会员中心功能怎么办?此时建议按照下面的流程来优化授权的代码。

简言之:

第一步:通过静默授权,拿到user_id,把user_id在服务端的会员数据库里查一次,

第二步——情况一:如果user_id存在且拿token能正常调用alipay.user.share.info接口,拿到会员信息那说明授权是有效的,并且把会员数据库里同步更新一下,

第二步——情况二:如果user_id不存在或者user_id对应的token不存在或者token调用alipay.user.info.share接口报错,则说明他需要重新授权,此时不要让用户登录,在用户操作需要授权的页面或按钮时,提示他重新授权即可。

 

6、有没有不首屏弹框的授权?

A:有的,就是scope为auth_base,称之为用户信息授权。

 

后续常见问题,敬请期待.....

目录
相关文章
|
7月前
|
小程序 API
微信小程序——授权登录
微信小程序——授权登录
119 0
|
7月前
|
存储 小程序 物联网
MQTT常见问题之小程序引用 paho-mqtt失败如何解决
MQTT(Message Queuing Telemetry Transport)是一个轻量级的、基于发布/订阅模式的消息协议,广泛用于物联网(IoT)中设备间的通信。以下是MQTT使用过程中可能遇到的一些常见问题及其答案的汇总:
|
7月前
|
小程序 安全 数据安全/隐私保护
微信小程序全栈开发中的身份认证与授权机制
【4月更文挑战第12天】本文探讨了微信小程序全栈开发中的身份认证与授权机制。身份认证包括手机号验证、微信登录和第三方登录,而授权机制涉及角色权限控制、ACL和OAuth 2.0。实践中,开发者可利用微信登录获取用户信息,集成第三方登录,以及实施角色和ACL进行权限控制。注意点包括安全性、用户体验和合规性,以保障小程序的安全运行和良好体验。通过这些方法,开发者能有效掌握小程序全栈开发技术。
211 0
|
7月前
|
移动开发 监控 小程序
mPaaS常见问题之音视频通话微信小程序通话界面录制为画中画模式如何解决
mPaaS(移动平台即服务,Mobile Platform as a Service)是阿里巴巴集团提供的一套移动开发解决方案,它包含了一系列移动开发、测试、监控和运营的工具和服务。以下是mPaaS常见问题的汇总,旨在帮助开发者和企业用户解决在使用mPaaS产品过程中遇到的各种挑战
101 0
|
7月前
|
小程序 JavaScript
小程序授权获取昵称
小程序授权获取昵称
|
7月前
|
小程序 JavaScript
小程序授权获取头像
小程序授权获取头像
|
27天前
|
人工智能 小程序 vr&ar
AI运动小程序开发常见问题集锦二
截至当前,我们的AI运动识别小程序插件已迭代至第23个版本,广泛应用于健身、体育、体测、AR互动等场景。本文针对近期用户咨询,汇总了常见问题,帮助用户减少开发成本,提高效率。主要涵盖计时与计数模式的区别、综合排行榜生成方法、全屏模式适配及无开发能力用户的解决方案。
|
2月前
|
小程序 算法 前端开发
微信小程序---授权登录
微信小程序---授权登录
83 0
|
4月前
|
存储 小程序 JavaScript
|
4月前
|
小程序 JavaScript API