| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687 |
- package com.muzhi.huanshi.service.impl;
- import com.auth0.jwt.JWT;
- import com.auth0.jwt.algorithms.Algorithm;
- import com.dingtalk.api.DefaultDingTalkClient;
- import com.dingtalk.api.request.OapiGettokenRequest;
- import com.dingtalk.api.response.OapiGettokenResponse;
- import com.muzhi.huanshi.service.AccessTokenService;
- import com.taobao.api.ApiException;
- import org.springframework.stereotype.Service;
- import org.springframework.util.StringUtils;
- import java.util.Date;
- /**
- * @Author ZhangKan
- * @Data 15:39
- */
- @Service
- public class AccessTokenServiceImpl implements AccessTokenService {
- //环世
- //APPKEY
- private static String APPKEY = "dingobpyhlo3vioasyo9";
- //APPSECRET
- private static String APPSECRET = "RNLnat9hiz8zQGSyOhLf1GEAx9qS66_VoFZFYJTwT_uy2aB_5sEoByTdd7oWc3Y0";
- //AgenthId:2769663130
- public static String accessToken = null;
- //获取access_token的方法(环世)
- @Override
- public String getAccessToken() {
- DefaultDingTalkClient client = new DefaultDingTalkClient("https://oapi.dingtalk.com/gettoken");
- OapiGettokenRequest request = new OapiGettokenRequest();
- request.setAppkey(APPKEY);
- request.setAppsecret(APPSECRET);
- request.setHttpMethod("GET");
- try {
- OapiGettokenResponse response = client.execute(request);
- accessToken = response.getAccessToken();
- System.out.println("环世AccessToken:" + accessToken);
- } catch (ApiException e) {
- e.printStackTrace();
- }
- return accessToken;
- }
- public static final Long EXPIRES_IN = 1 * 3600 * 1000L;
- public static final String TOKEN_APPID = "_appId";
- public static String appId = "6555d03b73aa2fd874f4cc12";
- public static String appSecret = "HDMqRuUY08eY1FtEzxs0hNB6A2Tq58aL";
- //获取access_token的方法(环世TB应用)
- @Override
- public String getAppToken() {
- if (StringUtils.isEmpty(appId) || StringUtils.isEmpty(appSecret)) {
- return null;
- }
- Algorithm algorithm = Algorithm.HMAC256(appSecret);
- long timestamp = System.currentTimeMillis();
- Date issuedAt = new Date(timestamp);
- Date expiresAt = new Date(timestamp + EXPIRES_IN);
- // return JWT.create()
- // .withClaim(TOKEN_APPID, appId)
- // .withIssuedAt(issuedAt)
- // .withExpiresAt(expiresAt)
- // .sign(algorithm);
- String sign = JWT.create()
- .withClaim(TOKEN_APPID, appId)
- .withIssuedAt(issuedAt)
- .withExpiresAt(expiresAt)
- .sign(algorithm);
- System.out.println("环世TB应用的AccessToken:" + sign);
- return sign;
- }
- }
|