|
@@ -24,6 +24,7 @@ public class NetEasySDK {
|
|
|
private QiyeOpenPlatSDK sdkInstance;
|
|
private QiyeOpenPlatSDK sdkInstance;
|
|
|
|
|
|
|
|
private final String authSSOTokenKey = "NETEASY_SSO_TOKEN" ;
|
|
private final String authSSOTokenKey = "NETEASY_SSO_TOKEN" ;
|
|
|
|
|
+ private final String accessTokenKey = "NETEASY_ACCESS_TOKEN" ;
|
|
|
|
|
|
|
|
public void initSDK() {
|
|
public void initSDK() {
|
|
|
QiyeOpenPlatSDKConfig qiyeOpenPlatSDKConfig = QiyeOpenPlatSDKConfig.builder()
|
|
QiyeOpenPlatSDKConfig qiyeOpenPlatSDKConfig = QiyeOpenPlatSDKConfig.builder()
|
|
@@ -39,18 +40,21 @@ public class NetEasySDK {
|
|
|
this.sdkInstance= new QiyeOpenPlatSDK("dev", qiyeOpenPlatSDKConfig);
|
|
this.sdkInstance= new QiyeOpenPlatSDK("dev", qiyeOpenPlatSDKConfig);
|
|
|
// 查看文档,应用获取token
|
|
// 查看文档,应用获取token
|
|
|
R<AppLoginResp> appLoginR = sdkInstance.appLogin(netEasyConfig.getAuthCode());
|
|
R<AppLoginResp> appLoginR = sdkInstance.appLogin(netEasyConfig.getAuthCode());
|
|
|
- sdkInstance.getQiyeOpenPlatSDKConfig().setupToken((AppLoginResp) appLoginR.getDataBean(AppLoginResp.class));
|
|
|
|
|
|
|
+ AppLoginResp appLoginResp = (AppLoginResp)appLoginR.getDataBean(AppLoginResp.class);
|
|
|
|
|
+ sdkInstance.getQiyeOpenPlatSDKConfig().setupToken(appLoginResp);
|
|
|
|
|
+ //时区问题,提前失效token,提前9小时
|
|
|
|
|
+ SSOTokenManager.setToken(accessTokenKey, appLoginResp.getAccessToken(), appLoginResp.getAccessTokenExpiredTime().getTime()-9*60*60*1000);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
public QiyeOpenPlatSDK getSDKInstance(){
|
|
public QiyeOpenPlatSDK getSDKInstance(){
|
|
|
- if (sdkInstance == null) {
|
|
|
|
|
|
|
+ if (sdkInstance == null || SSOTokenManager.getToken(accessTokenKey) == null) {
|
|
|
initSDK();
|
|
initSDK();
|
|
|
}
|
|
}
|
|
|
- return sdkInstance;
|
|
|
|
|
|
|
+ return this.sdkInstance;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
public String getSsoAuthToken () {
|
|
public String getSsoAuthToken () {
|
|
|
- String ssoAuthToken = SSOTokenManager.getSsoAuthToken(authSSOTokenKey);
|
|
|
|
|
|
|
+ String ssoAuthToken = SSOTokenManager.getToken(authSSOTokenKey);
|
|
|
logger.info("获取缓存ssoAuthToken,key:{}",ssoAuthToken);
|
|
logger.info("获取缓存ssoAuthToken,key:{}",ssoAuthToken);
|
|
|
if (ssoAuthToken == null) {
|
|
if (ssoAuthToken == null) {
|
|
|
QiyeOpenPlatSDKConfig qiyeOpenPlatSDKConfig = QiyeOpenPlatSDKConfig.builder()
|
|
QiyeOpenPlatSDKConfig qiyeOpenPlatSDKConfig = QiyeOpenPlatSDKConfig.builder()
|
|
@@ -67,7 +71,7 @@ public class NetEasySDK {
|
|
|
// 查看文档,应用获取token
|
|
// 查看文档,应用获取token
|
|
|
R<SsoLoginResp> ssoLoginRespR = sdkInstance.ssoAuthToken(netEasyConfig.getAuthCode());
|
|
R<SsoLoginResp> ssoLoginRespR = sdkInstance.ssoAuthToken(netEasyConfig.getAuthCode());
|
|
|
SsoLoginResp ssoLoginResp = ssoLoginRespR.getDataBean(SsoLoginResp.class);
|
|
SsoLoginResp ssoLoginResp = ssoLoginRespR.getDataBean(SsoLoginResp.class);
|
|
|
- SSOTokenManager.setSsoAuthToken(authSSOTokenKey, ssoLoginResp.getSsoAuthToken(), ssoLoginResp.getSsoAuthTokenExpiredTime().getTime()-8*60*60*1000);
|
|
|
|
|
|
|
+ SSOTokenManager.setToken(authSSOTokenKey, ssoLoginResp.getSsoAuthToken(), ssoLoginResp.getSsoAuthTokenExpiredTime().getTime()-8*60*60*1000);
|
|
|
return ssoLoginResp.getSsoAuthToken();
|
|
return ssoLoginResp.getSsoAuthToken();
|
|
|
} else {
|
|
} else {
|
|
|
logger.info("从缓存中获取ssoAuthToken:token{}",ssoAuthToken);
|
|
logger.info("从缓存中获取ssoAuthToken:token{}",ssoAuthToken);
|