图片来自微信小程序文档
微信小程序的认证不同于通过交换用户名和密码进行令牌类型的认证,因为小程序运行在微信上,用户信息在微信服务器中。下面是开发人员如何验证applet用户。
如果您的小程序是动态的,需要与后台进行数据交互,那么您需要在小程序启动时调用wx.login()方法。这种方法会从微信服务器获取一个代码,然后发送到开发者服务器,然后使用第三方开发者服务器中的代码从微信服务器获取一个密钥(session_key)和一个唯一的用户标识符(openid)。
如果第三方服务器有用户的唯一标识符,那么开发人员就知道请求来自哪个用户,以便为该用户添加、删除和检查数据。
现在有了openid,就不能直接把明文发送到客户端了。当明文直接在网络上传输时,存在安全风险。我们需要加密它来生成第三个会话。该密钥(session_key)用于加密openid。请注意,这个3rd_session应该是可破译的,因为3rd_session是发送给客户端的。当客户端请求数据时,它需要将这个3rd_session放在请求头中,并将其作为身份证书发送给开发人员服务器,开发人员解密它以获得openid。
下面是如何使用Python的加解密模块密码术,这可能是我知道的使用:最简单的Python加解密模块了。