irpas技术客

小程序登录及AppSecret(小程序密钥)_春哥111_小程序 appsecret

网络 1527

在授权开发以后,需要提交小程序密钥,有小程序密钥第三方才有能力获取用户的一些信息,提供一些能力!

平台分别提供多种方式实现微信登录:

1. 调用wx.login接口,静默获取openid

适用场景:无需使用用户头像、昵称、Unionid信息

2. 使用?open-data?(小程序)或者开放数据域(小游戏)的方式展示用户信息(无需用户授权)

适用场景:需要在前端“展示”用户头像、昵称信息,但不需要获取Unionid

3.使用button(小程序)或UserInfoButton(小游戏)组件,用户点击后弹窗请求用户授权

适用场景:需要获取用户头像、昵称、Unionid等基本信息

开发建议

第一步:获取openID

当用户访问小程序时,先通过wx.login,获取用户openID 。这时无需弹框授权,开发者拿到?openID?可以建立自身的帐号?ID。

第二步: 使用open-data方式或开放数据域方式展示头像昵称

如需要在前端展示用户头像、昵称信息,?使用open-data?方式或者开放数据域的方式展示用户信息

第三步:根据实际使用场景,使用组件,引导用户登录

在关键操作中,如必须获取用户头像、昵称、UnionID信息,可根据第一步获取的openID判断是新用户还是旧用户:

????如果是旧用户,可以直接登录,也可定期使用wx.getUserInfo更新用户的信息;

????如果是新用户,使用button(小程序)或UserInfoButton(小游戏)组件,在用户点击后弹窗请求获取用户基本信息。

??Unionid机制详见这里

会话密钥 session_key 有效性

开发者如果遇到因为 session_key 不正确而校验签名失败或解密失败,请关注下面几个与 session_key 有关的注意事项。

wx.login?调用时,用户的 session_key?可能会被更新而致使旧 session_key 失效(刷新机制存在最短周期,如果同一个用户短时间内多次调用?wx.login,并非每次调用都导致 session_key 刷新)。开发者应该在明确需要重新登录时才调用?wx.login,及时通过?code2Session?接口更新服务器存储的 session_key。微信不会把 session_key 的有效期告知开发者。我们会根据用户使用小程序的行为对 session_key 进行续期。用户越频繁使用小程序,session_key 有效期越长。开发者在 session_key 失效时,可以通过重新执行登录流程获取有效的 session_key。使用接口?wx.checkSession可以校验 session_key 是否有效,从而避免小程序反复执行登录流程。当开发者在实现自定义登录态时,可以考虑以 session_key 有效期作为自身登录态有效期,也可以实现自定义的时效性策略。

??

如果使用自己服务器定义的登录态失效时间,则不需要wx.checkSession


1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,会注明原创字样,如未注明都非原创,如有侵权请联系删除!;3.作者投稿可能会经我们编辑修改或补充;4.本站不提供任何储存功能只提供收集或者投稿人的网盘链接。

标签: #小程序 #appsecret #这时无需弹框授权开发者拿到 #OpenID #可以建立自身的帐号 #ID