Search in sources :

Example 1 with AccessToken

use of com.bc.pmpheep.wechat.po.AccessToken in project pmph by BCSquad.

the class OAuth2Controller method Oauth2MeUrl.

/**
 * <pre>
 * 功能描述:根据code获取Userid后跳转到需要带用户信息的最终页面
 * 使用示范:
 *
 * @param request HttpServletRequest
 * @param code 获取微信重定向到自己设置的URL中code参数
 * @param oauth2url 跳转到最终页面的地址
 * @return
 * </pre>
 */
@RequestMapping(value = { "/oauth2url" })
public String Oauth2MeUrl(HttpServletRequest request, @RequestParam String code, @RequestParam String oauth2url) {
    AccessToken accessToken = QiYeUtil.getAccessToken(Constants.CORPID, Constants.SECRET);
    HttpSession session = request.getSession();
    if (accessToken != null && accessToken.getToken() != null) {
        String Userid = getMemberGuidByCode(accessToken.getToken(), code, Constants.AGENTID);
        if (Userid != null) {
            session.setAttribute("UserId", Userid);
        }
    }
    // 这里简单处理,存储到session中
    return "redirect:" + oauth2url;
}
Also used : AccessToken(com.bc.pmpheep.wechat.po.AccessToken) HttpSession(javax.servlet.http.HttpSession) RequestMapping(org.springframework.web.bind.annotation.RequestMapping)

Example 2 with AccessToken

use of com.bc.pmpheep.wechat.po.AccessToken in project pmph by BCSquad.

the class SimpleOAuth2Controller method oAuth2Url.

/**
 * <pre>
 * 功能描述:授权回调请求处理
 * 使用示范:
 *
 * @param request HttpServletRequest
 * @param code 企业任意填写,用于生成签名。
 * @return
 * </pre>
 */
@RequestMapping(value = { "/oauth2me" })
public String oAuth2Url(HttpServletRequest request, @RequestParam String code) {
    AccessToken accessToken = QiYeUtil.getAccessToken(Constants.CORPID, Constants.SECRET);
    HttpSession session = request.getSession();
    if (accessToken != null && accessToken.getToken() != null) {
        String Userid = getMemberGuidByCode(accessToken.getToken(), code, Constants.AGENTID);
        if (Userid != null) {
            session.setAttribute("UserId", Userid);
        }
    }
    // 这里简单处理,存储到session中
    return "wechat";
}
Also used : AccessToken(com.bc.pmpheep.wechat.po.AccessToken) HttpSession(javax.servlet.http.HttpSession) RequestMapping(org.springframework.web.bind.annotation.RequestMapping)

Example 3 with AccessToken

use of com.bc.pmpheep.wechat.po.AccessToken in project pmph by BCSquad.

the class WechatAccessToken method getAccessToken.

// https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=ID&corpsecret=SECRECT
/**
 * <pre>
 * 功能描述:获取access_token
 * 使用示范:
 *
 * @param appid 凭证
 * @param appsecret 密钥
 * @param type
 * @return
 * </pre>
 */
public static AccessToken getAccessToken(String appid, String appsecret, int type) {
    AccessToken accessToken = null;
    String requestUrl = access_token_url.replace("APPID", appid).replace("APPSECRET", appsecret);
    if (type == 1) {
        requestUrl = company_access_token_url.replace("CORPID", appid).replace("CORPSECRET", appsecret);
    // System.err.println(requestUrl);
    }
    JSONObject jsonObject = HttpRequestUtil.httpRequest(requestUrl, EnumMethod.GET.name(), null);
    if (jsonObject == null) {
        jsonObject = HttpRequestUtil.httpRequest(requestUrl, EnumMethod.GET.name(), null);
    }
    // 如果请求成功
    if (null != jsonObject) {
        try {
            accessToken = new AccessToken();
            accessToken.setToken(jsonObject.getString("access_token"));
            accessToken.setExpiresIn(jsonObject.getInt("expires_in"));
        } catch (JSONException e) {
            accessToken = null;
        // 获取token失败
        }
    }
    return accessToken;
}
Also used : JSONObject(net.sf.json.JSONObject) AccessToken(com.bc.pmpheep.wechat.po.AccessToken) JSONException(net.sf.json.JSONException)

Aggregations

AccessToken (com.bc.pmpheep.wechat.po.AccessToken)3 HttpSession (javax.servlet.http.HttpSession)2 RequestMapping (org.springframework.web.bind.annotation.RequestMapping)2 JSONException (net.sf.json.JSONException)1 JSONObject (net.sf.json.JSONObject)1