mirror of
https://gitee.com/binary/weixin-java-tools.git
synced 2025-10-21 02:57:37 +08:00
* #1474 新增客户联系「联系我」管理接口 * fix #1590 提及的me.chanjar.weixin.open.api.impl.WxOpenComponentServiceImpl#getAuthorizerAccessToken()刷新AccessToken后没有同步对应的refreshToken * 补充 me.chanjar.weixin.open.api.impl.WxOpenInMemoryConfigStorage#updateToken 方法对 expireInSeconds 边界判断
This commit is contained in:
@@ -208,6 +208,13 @@ public interface WxOpenConfigStorage {
|
||||
*/
|
||||
void setAuthorizerRefreshToken(String appId, String authorizerRefreshToken);
|
||||
|
||||
/**
|
||||
* setAuthorizerRefreshToken(String appId, String authorizerRefreshToken) 方法重载方法
|
||||
* @param appId the app id
|
||||
* @param authorizerRefreshToken the authorizer refresh token
|
||||
*/
|
||||
void updateAuthorizerRefreshToken(String appId, String authorizerRefreshToken);
|
||||
|
||||
/**
|
||||
* Gets authorizer access token.
|
||||
*
|
||||
|
@@ -311,7 +311,7 @@ public class WxOpenComponentServiceImpl implements WxOpenComponentService {
|
||||
authorizationInfo.getAuthorizerAccessToken(), authorizationInfo.getExpiresIn());
|
||||
}
|
||||
if (authorizationInfo.getAuthorizerRefreshToken() != null) {
|
||||
getWxOpenConfigStorage().setAuthorizerRefreshToken(authorizationInfo.getAuthorizerAppid(), authorizationInfo.getAuthorizerRefreshToken());
|
||||
getWxOpenConfigStorage().updateAuthorizerRefreshToken(authorizationInfo.getAuthorizerAppid(), authorizationInfo.getAuthorizerRefreshToken());
|
||||
}
|
||||
return queryAuth;
|
||||
}
|
||||
@@ -340,7 +340,7 @@ public class WxOpenComponentServiceImpl implements WxOpenComponentService {
|
||||
String authorizerAppid = data.get("authorizer_appid");
|
||||
String refreshToken = data.get("refresh_token");
|
||||
if (authorizerAppid != null && refreshToken != null) {
|
||||
this.getWxOpenConfigStorage().setAuthorizerRefreshToken(authorizerAppid, refreshToken);
|
||||
this.getWxOpenConfigStorage().updateAuthorizerRefreshToken(authorizerAppid, refreshToken);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -391,6 +391,7 @@ public class WxOpenComponentServiceImpl implements WxOpenComponentService {
|
||||
|
||||
WxOpenAuthorizerAccessToken wxOpenAuthorizerAccessToken = WxOpenAuthorizerAccessToken.fromJson(responseContent);
|
||||
config.updateAuthorizerAccessToken(appId, wxOpenAuthorizerAccessToken);
|
||||
config.updateAuthorizerRefreshToken(appId,wxOpenAuthorizerAccessToken.getAuthorizerRefreshToken());
|
||||
return config.getAuthorizerAccessToken(appId);
|
||||
} catch (InterruptedException e) {
|
||||
throw new RuntimeException(e);
|
||||
|
@@ -142,7 +142,7 @@ public class WxOpenInMemoryConfigStorage implements WxOpenConfigStorage {
|
||||
map.put(key, token);
|
||||
}
|
||||
token.token = tokenString;
|
||||
if (expiresInSeconds != null) {
|
||||
if (expiresInSeconds != null && expiresInSeconds != -1) {
|
||||
token.expiresTime = System.currentTimeMillis() + (expiresInSeconds - 200) * 1000L;
|
||||
}
|
||||
}
|
||||
@@ -157,6 +157,11 @@ public class WxOpenInMemoryConfigStorage implements WxOpenConfigStorage {
|
||||
updateToken(authorizerRefreshTokens, appId, authorizerRefreshToken, null);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateAuthorizerRefreshToken(String appId, String authorizerRefreshToken) {
|
||||
this.setAuthorizerRefreshToken(appId, authorizerRefreshToken);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getAuthorizerAccessToken(String appId) {
|
||||
return getTokenString(authorizerAccessTokens, appId);
|
||||
|
@@ -1,5 +1,6 @@
|
||||
package me.chanjar.weixin.open.bean;
|
||||
|
||||
import lombok.Data;
|
||||
import me.chanjar.weixin.open.util.json.WxOpenGsonBuilder;
|
||||
|
||||
import java.io.Serializable;
|
||||
@@ -7,30 +8,17 @@ import java.io.Serializable;
|
||||
/**
|
||||
* @author <a href="https://github.com/007gzs">007</a>
|
||||
*/
|
||||
@Data
|
||||
public class WxOpenAuthorizerAccessToken implements Serializable {
|
||||
private static final long serialVersionUID = -4069745419280727420L;
|
||||
|
||||
private String authorizerAccessToken;
|
||||
|
||||
private String authorizerRefreshToken;
|
||||
|
||||
private int expiresIn = -1;
|
||||
|
||||
public static WxOpenAuthorizerAccessToken fromJson(String json) {
|
||||
return WxOpenGsonBuilder.create().fromJson(json, WxOpenAuthorizerAccessToken.class);
|
||||
}
|
||||
|
||||
public String getAuthorizerAccessToken() {
|
||||
return authorizerAccessToken;
|
||||
}
|
||||
|
||||
public void setAuthorizerAccessToken(String authorizerAccessToken) {
|
||||
this.authorizerAccessToken = authorizerAccessToken;
|
||||
}
|
||||
|
||||
public int getExpiresIn() {
|
||||
return expiresIn;
|
||||
}
|
||||
|
||||
public void setExpiresIn(int expiresIn) {
|
||||
this.expiresIn = expiresIn;
|
||||
}
|
||||
}
|
||||
|
@@ -15,6 +15,7 @@ public class WxOpenAuthorizerAccessTokenGsonAdapter implements JsonDeserializer<
|
||||
WxOpenAuthorizerAccessToken authorizerAccessToken = new WxOpenAuthorizerAccessToken();
|
||||
JsonObject jsonObject = jsonElement.getAsJsonObject();
|
||||
authorizerAccessToken.setAuthorizerAccessToken(GsonHelper.getString(jsonObject, "authorizer_access_token"));
|
||||
authorizerAccessToken.setAuthorizerRefreshToken(GsonHelper.getString(jsonObject, "authorizer_refresh_token"));
|
||||
authorizerAccessToken.setExpiresIn(GsonHelper.getPrimitiveInteger(jsonObject, "expires_in"));
|
||||
return authorizerAccessToken;
|
||||
}
|
||||
|
Reference in New Issue
Block a user