Search in sources :

Example 1 with HttpRequestAdapter

use of org.maxkey.web.HttpRequestAdapter in project MaxKey by dromara.

the class WorkweixinAccessTokenService method requestToken.

public String requestToken() {
    HttpRequestAdapter request = new HttpRequestAdapter();
    String responseBody = request.get(String.format(TOKEN_URL, corpid, corpsecret));
    AccessToken accessToken = JsonUtils.gson2Object(responseBody, AccessToken.class);
    _logger.debug("accessToken " + accessToken);
    if (accessToken.getErrcode() == 0) {
        return accessToken.getAccess_token();
    }
    return "";
}
Also used : HttpRequestAdapter(org.maxkey.web.HttpRequestAdapter) AccessToken(org.maxkey.synchronizer.entity.AccessToken)

Example 2 with HttpRequestAdapter

use of org.maxkey.web.HttpRequestAdapter in project MaxKey by dromara.

the class FeishuOrganizationService method requestDepartment.

public FeishuDeptsResponse requestDepartment(String url, String deptId, String access_token) {
    HttpRequestAdapter request = new HttpRequestAdapter();
    HashMap<String, String> headers = new HashMap<String, String>();
    headers.put("Authorization", AuthorizationHeaderUtils.createBearer(access_token));
    String responseBody = request.get(String.format(url, deptId), headers);
    FeishuDeptsResponse deptsResponse = JsonUtils.gson2Object(responseBody, FeishuDeptsResponse.class);
    _logger.trace("response : " + responseBody);
    return deptsResponse;
}
Also used : HttpRequestAdapter(org.maxkey.web.HttpRequestAdapter) HashMap(java.util.HashMap) FeishuDeptsResponse(org.maxkey.synchronizer.feishu.entity.FeishuDeptsResponse)

Example 3 with HttpRequestAdapter

use of org.maxkey.web.HttpRequestAdapter in project MaxKey by dromara.

the class FeishuOrganizationService method requestDepartmentList.

public FeishuDeptsResponse requestDepartmentList(String access_token, String deptId) {
    HttpRequestAdapter request = new HttpRequestAdapter();
    HashMap<String, String> headers = new HashMap<String, String>();
    headers.put("Authorization", AuthorizationHeaderUtils.createBearer(access_token));
    String responseBody = request.get(String.format(DEPTS_URL, deptId), headers);
    FeishuDeptsResponse deptsResponse = JsonUtils.gson2Object(responseBody, FeishuDeptsResponse.class);
    _logger.trace("response : " + responseBody);
    return deptsResponse;
}
Also used : HttpRequestAdapter(org.maxkey.web.HttpRequestAdapter) HashMap(java.util.HashMap) FeishuDeptsResponse(org.maxkey.synchronizer.feishu.entity.FeishuDeptsResponse)

Example 4 with HttpRequestAdapter

use of org.maxkey.web.HttpRequestAdapter in project MaxKey by dromara.

the class ExtendApiCndnsApiMailAdapter method authorize.

@SuppressWarnings("unchecked")
@Override
public ModelAndView authorize(ModelAndView modelAndView) {
    HttpsTrusts.beforeConnection();
    Apps details = (Apps) app;
    // extraAttrs from Applications
    ExtraAttrs extraAttrs = null;
    String action = "getWebMailUrl";
    String domain = null;
    if (details.getIsExtendAttr() == 1) {
        extraAttrs = new ExtraAttrs(details.getExtendAttr());
        if (extraAttrs.get("action") == null || extraAttrs.get("action").equalsIgnoreCase("getWebMailUrl")) {
            action = "getWebMailUrl";
        } else if (extraAttrs.get("action").equalsIgnoreCase("getDomailUrl")) {
            action = "getDomailUrl";
            domain = extraAttrs.get("domain");
        }
    }
    String timestamp = "" + Instant.now().getEpochSecond();
    String tokenMd5 = DigestUtils.md5Hex(details.getCredentials());
    HashMap<String, Object> requestParamenter = new HashMap<String, Object>();
    String redirect_uri = "";
    if (action.equalsIgnoreCase("getDomailUrl")) {
        String sign = DigestUtils.md5Hex(String.format(SIGN_STRING, details.getPrincipal(), timestamp, tokenMd5));
        requestParamenter.put("domain", domain);
        String responseBody = new HttpRequestAdapter().post(String.format(ADMIN_AUTHKEY_URI, details.getPrincipal(), sign, timestamp), requestParamenter);
        HashMap<String, String> authKey = JsonUtils.gson2Object(responseBody, HashMap.class);
        redirect_uri = authKey.get("adminUrl");
    } else {
        String sign = DigestUtils.md5Hex(String.format(SIGN_EMAIL_STRING, details.getPrincipal(), userInfo.getEmail(), timestamp, tokenMd5));
        requestParamenter.put("email", userInfo.getWorkEmail());
        String responseBody = new HttpRequestAdapter().post(String.format(AUTHKEY_URI, details.getPrincipal(), sign, timestamp), requestParamenter);
        HashMap<String, String> authKey = JsonUtils.gson2Object(responseBody, HashMap.class);
        redirect_uri = authKey.get("webmailUrl");
    }
    _logger.debug("redirect_uri : " + redirect_uri);
    modelAndView.addObject("redirect_uri", redirect_uri);
    return modelAndView;
}
Also used : HttpRequestAdapter(org.maxkey.web.HttpRequestAdapter) HashMap(java.util.HashMap) ExtraAttrs(org.maxkey.entity.ExtraAttrs) Apps(org.maxkey.entity.apps.Apps)

Example 5 with HttpRequestAdapter

use of org.maxkey.web.HttpRequestAdapter in project MaxKey by dromara.

the class ExtendApiQQExmailAdapter method authorize.

@Override
public ModelAndView authorize(ModelAndView modelAndView) {
    HttpsTrusts.beforeConnection();
    Apps details = (Apps) app;
    // extraAttrs from Applications
    ExtraAttrs extraAttrs = null;
    if (details.getIsExtendAttr() == 1) {
        extraAttrs = new ExtraAttrs(details.getExtendAttr());
    }
    _logger.debug("Extra Attrs " + extraAttrs);
    String responseBody = new HttpRequestAdapter().get(String.format(TOKEN_URI, details.getPrincipal(), details.getCredentials()), null);
    Token token = JsonUtils.gson2Object(responseBody, Token.class);
    _logger.debug("token {}", token);
    String authKeyBody = new HttpRequestAdapter().get(String.format(AUTHKEY_URI, token.getAccess_token(), userInfo.getUsername()), null);
    LoginUrl loginUrl = JsonUtils.gson2Object(authKeyBody, LoginUrl.class);
    _logger.debug("LoginUrl {} ", loginUrl);
    modelAndView.addObject("redirect_uri", loginUrl.getLogin_url());
    return modelAndView;
}
Also used : HttpRequestAdapter(org.maxkey.web.HttpRequestAdapter) ExtraAttrs(org.maxkey.entity.ExtraAttrs) Apps(org.maxkey.entity.apps.Apps)

Aggregations

HttpRequestAdapter (org.maxkey.web.HttpRequestAdapter)9 HashMap (java.util.HashMap)5 ExtraAttrs (org.maxkey.entity.ExtraAttrs)2 SynchroRelated (org.maxkey.entity.SynchroRelated)2 UserInfo (org.maxkey.entity.UserInfo)2 Apps (org.maxkey.entity.apps.Apps)2 AccessToken (org.maxkey.synchronizer.entity.AccessToken)2 FeishuDeptsResponse (org.maxkey.synchronizer.feishu.entity.FeishuDeptsResponse)2 FeishuUsers (org.maxkey.synchronizer.feishu.entity.FeishuUsers)1 FeishuUsersResponse (org.maxkey.synchronizer.feishu.entity.FeishuUsersResponse)1 WorkWeixinDepts (org.maxkey.synchronizer.workweixin.entity.WorkWeixinDepts)1 WorkWeixinDeptsResponse (org.maxkey.synchronizer.workweixin.entity.WorkWeixinDeptsResponse)1 WorkWeixinUsers (org.maxkey.synchronizer.workweixin.entity.WorkWeixinUsers)1 WorkWeixinUsersResponse (org.maxkey.synchronizer.workweixin.entity.WorkWeixinUsersResponse)1