Skip to content

[weixin-java-mp] WxMpOAuth2Service 为空接口,网页授权能力缺失 #4007

Description

@binarywang

问题描述

模块: 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;
}

环境信息

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Projects

No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions