问题描述
模块: weixin-java-mp
问题类型: 接口为空
严重程度: 🔴 High
WxMpOAuth2Service 接口存在但完全没有方法定义和实现:
weixin-java-mp/src/main/java/me/chanjar/weixin/mp/api/WxMpOAuth2Service.java
该文件仅包含package声明和import语句,接口体内为空白,OAuth2网页授权是服务号的核心能力之一,文档:https://developers.weixin.qq.com/doc/offiaccount/OA_Web_Apps/Wechat_webpage_authorization.html
官方API(全部缺失)
| 接口路径 |
描述 |
状态 |
sns/oauth2/access_token |
换取用户授权凭证(access_token) |
❌ |
sns/oauth2/refresh_token |
刷新access_token |
❌ |
sns/oauth2/userinfo |
获取用户基本信息 |
❌ |
sns/auth |
校验access_token是否有效 |
❌ |
影响场景
- 无法实现服务号网页授权扫码登录
- 无法获取用户授权后的个人信息
- 无法配合JS-SDK完成网页端微信认证
- 开发者只能绕过SDK自行构造OAuth2流程
建议修复
在 WxMpOAuth2Service 中实现以下核心方法:
public interface WxMpOAuth2Service {
/**
* 构建网页授权URL
* @param redirectUri 回调URI
* @param scope 作用域(snsapi_base / snsapi_userinfo)
* @param state 随机参数
*/
String buildAuthorizationUrl(String redirectUri, String scope, String state);
/**
* 通过code换取access_token
*/
WxMpOAuth2AccessToken getAccessToken(String code) throws WxErrorException;
/**
* 刷新access_token
*/
WxMpOAuth2AccessToken refreshAccessToken(String refreshToken) throws WxErrorException;
/**
* 获取用户信息(需scope为snsapi_userinfo)
*/
WxMpUser getUserInfo(String accessToken, String openid, String lang) throws WxErrorException;
/**
* 校验access_token是否有效
*/
boolean validateAccessToken(String accessToken, String openid) throws WxErrorException;
}
环境信息
问题描述
模块: weixin-java-mp
问题类型: 接口为空
严重程度: 🔴 High
WxMpOAuth2Service接口存在但完全没有方法定义和实现:该文件仅包含package声明和import语句,接口体内为空白,OAuth2网页授权是服务号的核心能力之一,文档:https://developers.weixin.qq.com/doc/offiaccount/OA_Web_Apps/Wechat_webpage_authorization.html
官方API(全部缺失)
sns/oauth2/access_tokensns/oauth2/refresh_tokensns/oauth2/userinfosns/auth影响场景
建议修复
在
WxMpOAuth2Service中实现以下核心方法:环境信息