微信小程序的授权方式主要包括以下几种:
自建授权链接
商家可以通过构建授权链接,用户扫码访问该链接后,通过auth_code获取授权信息。
使用官方云服务生产授权链接
另一种方式是通过微信官方云服务生成授权链接,简化了授权过程。
一次性授权
用户在首次授权后,如果拒绝或删除小程序,需要重新进行授权。这种方式用户体验较差,不推荐使用。
永久授权
用户在首次授权时存储用户信息,后续可以直接从数据库获取,无需再次授权。这种方式在用户删除小程序后也无需重新授权,推荐使用。
不授权
不需要获取用户的授权信息,适用于不需要用户公开信息(如头像、昵称等)的场景。但这种方式无法获取用户的微信身份信息,可能不适用于需要用户身份认证的应用。
通过按钮的open-type方式
小程序可以通过button的open-type属性来获取相应的权限及信息,例如用户信息或手机号。这通常涉及到调用wx.authorize()和wx.openSetting()接口。
微信登录接口
小程序可以使用微信提供的登录能力,通过wx.login()获取code,然后通过后端服务器使用jscode2session接口获取session_key和openid,进而获取用户信息。
管理员微信扫码授权
管理员可以通过微信扫码的方式对小程序进行授权,这种方式适用于需要管理员权限的场景。
建议
对于需要频繁获取用户信息的小程序,推荐使用永久授权,因为它避免了用户重复授权的麻烦,并且用户信息可以长期存储在数据库中。
对于用户隐私敏感的应用,可以考虑不授权或一次性授权的方式,以保护用户隐私。
在开发过程中,建议详细测试每种授权方式,确保它们符合应用的需求和用户体验。