企业微信应用授权/静默登录

前言

企微创建一个新应用,用户点击静默授权登录
企业微信API

操作

这边不按部就班,使用一次性访问
创建一个链接
标准链接

https://open.weixin.qq.com/connect/oauth2/authorize?appid=APPID&redirect_uri=REDIRECT_URI&response_type=code&scope=SCOPE&state=STATE#wechat_redirect

赋值

 https://open.weixin.qq.com/connect/oauth2/authorize?appid=&redirect_uri=&response_type=code&scope=snsapi_base&agentid=C&state=D 
 
  • A appid 填写对应参数
  • B 回调链接 获取code 需要URLEncoder转码 下文有
  • C agentid 填写对应参数
  • D 微信重定向后携带的参数(建议写前端地址或者其他)

注意:拼接完成的链接需要配置在企微对应主页地址
注意:B位置的重定向链接需要在企微应用中配置可信任域名,未配置会在code获取时报50001
错误码:50001
企业微信应用授权/静默登录_第1张图片

重定向链接

上述链接配置好后回调地址,code置换微信用户

    /**
     * 微信用户登录获取用户
     *
     * @param code    回调
     * @param state
     * @param request
     * @return
     * @throws IOException
     */
    @GetMapping("oauth2me.do")
    @ApiOperation(value = "回调方法")
    public RedirectView getuserinfo(@RequestParam String code, @RequestParam String state, HttpServletRequest request) throws IOException {
     

        System.out.println("回调方法code: " + code + "state: " + state);
        BaseResult getuserinfo = weChatServicel.getuserinfo(code, request);
        String redirectUrl = "";

        if (getuserinfo.getErrno() == 200) {
     
            Object o = JSONArray.toJSON(data);
            String s = Base64Util.encryptBASE64(o.toString());
            String encode = URLEncoder.encode(s, "UTF-8");
            redirectUrl = state + "?" + encode;
        } else {
     
            redirectUrl = state;
        }
        System.out.println("重定向URL: " + redirectUrl);
        return new RedirectView(redirectUrl);
    }

获取访问用户身份

方法体内部调用这个请求就行
请求方式:GET(HTTPS)
请求地址:https://qyapi.weixin.qq.com/cgi-bin/service/getuserinfo3rd?suite_access_token=SUITE_ACCESS_TOKEN&code=CODE

在这里插入图片描述
返回值

{
     
   "errcode": 0,
   "errmsg": "ok",
   "CorpId":"CORPID",
   "UserId":"USERID",
   "DeviceId":"DEVICEID",
   "user_ticket": "USER_TICKET""expires_in":7200,
   "open_userid":"wwxxxx"
}

参考链接:获取访问用户身份

企业微信应用授权/静默登录_第2张图片

你可能感兴趣的:(微信,企微,微信)