微信小程序登录授权

微信小程序登录授权主要有以下几种方式:
1. 一次性授权 :
用户在需要获取用户公开信息(如头像、昵称等)时,调用授权登录接口。
如果用户拒绝授权或删除小程序,需要重新调用接口获取用户信息。
这种方法用户体验较差,不推荐使用。
2. 永久授权 :
在不需要使用用户公开信息时,不调用授权登录接口。
当需要获取用户信息时,调用接口并将获取到的信息存入数据库。
这样在每次登录时,直接从数据库获取用户信息,无需再次授权。
这种方法在用户删除小程序后也无需重新授权,推荐使用。
3. 不授权 :
不需要获取用户公开信息,使用 `wx.login` 获取用户 `code` 并传入后台。
后台通过 `code` 向微信请求获取用户信息(如 `openid`)。
前端可以使用自定义功能显示用户信息,如头像、昵称等。
这种方法适用于不需要用户信息的场景。
微信小程序登录授权流程
1. 获取用户临时登录凭证 `code` :
小程序端调用 `wx.login()` 方法获取 `code`。
2. 将 `code` 发送到开发者服务器 :
小程序使用 `wx.request()` 方法将 `code` 发送到开发者服务器。
3. 开发者服务器获取 `session_key` 和 `openid` :
开发者服务器通过 `code` 向微信服务器请求 `session_key` 和 `openid`。
4. 生成自定义登录态(token) :
开发者服务器将获取到的 `session_key` 和 `openid` 与自定义登录态关联,生成唯一的 `token`。
5. 返回 `token` 给小程序 :
开发者服务器将生成的 `token` 返回给小程序,小程序存储在本地存储中。
6. 后续业务请求 :
小程序在后续业务请求中携带存储的 `token`,开发者服务器通过 `token` 查询对应的 `openid` 和 `session_key`,完成用户身份验证和业务处理。
取消授权
用户可以通过以下步骤取消授权:
1. 进入小程序信息主页面。
2. 点击右上角的“...”,选择“设置”。
3. 进入权限设置界面,关闭“用户信息”右侧的按钮即可。
建议
永久授权 适合在不需要频繁获取用户信息且希望避免重复授权的场景。
不授权 适合不需要用户信息的场景,但需要注意用户身份验证的处理。
一次性授权 适合临时获取用户信息的场景,但用户体验较差。
希望这些信息对你有所帮助!如果有更多问题,欢迎继续咨询。
其他小伙伴的相似问题:
微信小程序登录授权后如何管理用户数据?
微信小程序授权后如何显示用户昵称?
微信小程序如何判断用户是否已授权?
