微信小程序最新登录授权逻辑
时间: 2023-06-22 10:32:21 浏览: 98
微信小程序最新登录授权逻辑如下:
1. 用户点击授权登录按钮,小程序发起 wx.login 请求,并获取到临时登录凭证 code。
2. 小程序将 code 发送到开发者服务器,并使用微信登录接口换取用户唯一标识 OpenID 和会话密钥 session_key。
3. 开发者服务器通过 session_key 和加密算法对用户数据进行解密,获取到用户信息。
4. 小程序获取到用户信息后,根据业务需要进行后续处理。
需要注意的是,微信登录接口返回的用户数据是加密的,需要使用相应的解密算法才能获取到明文数据。同时,为了保证用户数据的安全性,开发者服务器需要对接口返回的数据进行校验,确保数据未被篡改过。
相关问题
微信小程序最新微信授权登录
微信小程序最新的微信授权登录流程如下:
1. 用户进入小程序,点击登录按钮。
2. 小程序调用 wx.login() 接口获取临时登录凭证 code。
3. 小程序将 code 发送给开发者后台服务器。
4. 开发者后台服务器调用微信接口 wx.login() 换取用户的 openid 和 session_key。
5. 开发者后台服务器将 openid 和 session_key 返回给小程序。
6. 小程序将 openid 和 session_key 存储到本地缓存中,用于后续接口调用。
7. 小程序调用 wx.getUserInfo() 接口获取用户信息。
8. 用户确认授权后,小程序将用户信息发送给开发者后台服务器。
9. 开发者后台服务器将用户信息存储到数据库中,用于后续业务逻辑处理。
以上是微信小程序最新的微信授权登录流程。注意,用户需要在微信客户端中打开小程序才能进行授权登录。
Java 微信小程序授权登录
Java实现微信小程序授权登录的流程如下:
1. 微信小程序端调用wx.login()获取临时登录凭证code。
2. 将code发送给后端服务。
3. 后端服务使用code、appId、appSecret调用微信服务端的接口获取openId和sessionKey。
4. 结合自身的业务逻辑生成登录凭证(token)返回给小程序端进行后续的接口调用。
Java代码示例:
```java
// 1. 获取临时登录凭证code
String code = request.getParameter("code");
// 2. 发送code到后端服务
String url = "https://api.weixin.qq.com/sns/jscode2session?appid=" + appId + "&secret=" + appSecret + "&js_code=" + code + "&grant_type=authorization_code";
String result = HttpUtil.get(url);
// 3. 解析返回结果,获取openId和sessionKey
JSONObject json = JSON.parseObject(result);
String openId = json.getString("openid");
String sessionKey = json.getString("session_key");
// 4. 结合自身业务逻辑生成登录凭证token并返回给小程序端
String token = generateToken(openId, sessionKey);
response.getWriter().write(token);
```