|
|
@@ -7,7 +7,6 @@ import redis.clients.jedis.JedisPool; |
|
|
|
* @author <a href="https://github.com/007gzs">007</a> |
|
|
|
*/ |
|
|
|
public class WxOpenInRedisConfigStorage extends WxOpenInMemoryConfigStorage { |
|
|
|
|
|
|
|
private final static String COMPONENT_VERIFY_TICKET_KEY = "wechat_component_verify_ticket:"; |
|
|
|
private final static String COMPONENT_ACCESS_TOKEN_KEY = "wechat_component_access_token:"; |
|
|
|
|
|
|
@@ -16,7 +15,6 @@ public class WxOpenInRedisConfigStorage extends WxOpenInMemoryConfigStorage { |
|
|
|
private final static String JSAPI_TICKET_KEY = "wechat_jsapi_ticket:"; |
|
|
|
private final static String CARD_API_TICKET_KEY = "wechat_card_api_ticket:"; |
|
|
|
|
|
|
|
|
|
|
|
protected final JedisPool jedisPool; |
|
|
|
private String componentVerifyTicketKey; |
|
|
|
private String componentAccessTokenKey; |
|
|
@@ -32,46 +30,46 @@ public class WxOpenInRedisConfigStorage extends WxOpenInMemoryConfigStorage { |
|
|
|
@Override |
|
|
|
public void setComponentAppId(String componentAppId) { |
|
|
|
super.setComponentAppId(componentAppId); |
|
|
|
componentVerifyTicketKey = COMPONENT_VERIFY_TICKET_KEY.concat(componentAppId); |
|
|
|
componentAccessTokenKey = COMPONENT_ACCESS_TOKEN_KEY.concat(componentAppId); |
|
|
|
authorizerRefreshTokenKey = AUTHORIZER_REFRESH_TOKEN_KEY.concat(componentAppId); |
|
|
|
authorizerAccessTokenKey = AUTHORIZER_ACCESS_TOKEN_KEY.concat(componentAppId); |
|
|
|
jsapiTicketKey = JSAPI_TICKET_KEY.concat(componentAppId); |
|
|
|
cardApiTicket = CARD_API_TICKET_KEY.concat(componentAppId); |
|
|
|
this.componentVerifyTicketKey = COMPONENT_VERIFY_TICKET_KEY.concat(componentAppId); |
|
|
|
this.componentAccessTokenKey = COMPONENT_ACCESS_TOKEN_KEY.concat(componentAppId); |
|
|
|
this.authorizerRefreshTokenKey = AUTHORIZER_REFRESH_TOKEN_KEY.concat(componentAppId); |
|
|
|
this.authorizerAccessTokenKey = AUTHORIZER_ACCESS_TOKEN_KEY.concat(componentAppId); |
|
|
|
this.jsapiTicketKey = JSAPI_TICKET_KEY.concat(componentAppId); |
|
|
|
this.cardApiTicket = CARD_API_TICKET_KEY.concat(componentAppId); |
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
|
public String getComponentVerifyTicket() { |
|
|
|
try (Jedis jedis = jedisPool.getResource()) { |
|
|
|
return jedis.get(componentVerifyTicketKey); |
|
|
|
try (Jedis jedis = this.jedisPool.getResource()) { |
|
|
|
return jedis.get(this.componentVerifyTicketKey); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
|
public void setComponentVerifyTicket(String componentVerifyTicket) { |
|
|
|
try (Jedis jedis = jedisPool.getResource()) { |
|
|
|
jedis.set(componentVerifyTicketKey, componentVerifyTicket); |
|
|
|
try (Jedis jedis = this.jedisPool.getResource()) { |
|
|
|
jedis.set(this.componentVerifyTicketKey, componentVerifyTicket); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
|
public String getComponentAccessToken() { |
|
|
|
try (Jedis jedis = jedisPool.getResource()) { |
|
|
|
return jedis.get(componentAccessTokenKey); |
|
|
|
try (Jedis jedis = this.jedisPool.getResource()) { |
|
|
|
return jedis.get(this.componentAccessTokenKey); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
|
public boolean isComponentAccessTokenExpired() { |
|
|
|
try (Jedis jedis = jedisPool.getResource()) { |
|
|
|
return jedis.ttl(componentAccessTokenKey) < 2; |
|
|
|
try (Jedis jedis = this.jedisPool.getResource()) { |
|
|
|
return jedis.ttl(this.componentAccessTokenKey) < 2; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
|
public void updateComponentAccessTokent(String componentAccessToken, int expiresInSeconds) { |
|
|
|
try (Jedis jedis = this.jedisPool.getResource()) { |
|
|
|
jedis.setex(componentAccessTokenKey, expiresInSeconds - 200, componentAccessToken); |
|
|
|
jedis.setex(this.componentAccessTokenKey, expiresInSeconds - 200, componentAccessToken); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
@@ -82,99 +80,98 @@ public class WxOpenInRedisConfigStorage extends WxOpenInMemoryConfigStorage { |
|
|
|
@Override |
|
|
|
public String getAuthorizerRefreshToken(String appId) { |
|
|
|
try (Jedis jedis = this.jedisPool.getResource()) { |
|
|
|
return jedis.get(getKey(authorizerRefreshTokenKey, appId)); |
|
|
|
return jedis.get(this.getKey(this.authorizerRefreshTokenKey, appId)); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
|
public void setAuthorizerRefreshToken(String appId, String authorizerRefreshToken) { |
|
|
|
try (Jedis jedis = this.jedisPool.getResource()) { |
|
|
|
jedis.set(getKey(authorizerRefreshTokenKey, appId), authorizerRefreshToken); |
|
|
|
jedis.set(this.getKey(this.authorizerRefreshTokenKey, appId), authorizerRefreshToken); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
|
public String getAuthorizerAccessToken(String appId) { |
|
|
|
try (Jedis jedis = this.jedisPool.getResource()) { |
|
|
|
return jedis.get(getKey(authorizerAccessTokenKey, appId)); |
|
|
|
return jedis.get(this.getKey(this.authorizerAccessTokenKey, appId)); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
public boolean isAuthorizerAccessTokenExpired(String appId) { |
|
|
|
try (Jedis jedis = this.jedisPool.getResource()) { |
|
|
|
return jedis.ttl(getKey(authorizerAccessTokenKey, appId)) < 2; |
|
|
|
return jedis.ttl(this.getKey(this.authorizerAccessTokenKey, appId)) < 2; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
|
public void expireAuthorizerAccessToken(String appId) { |
|
|
|
try (Jedis jedis = this.jedisPool.getResource()) { |
|
|
|
jedis.expire(getKey(authorizerAccessTokenKey, appId), 0); |
|
|
|
jedis.expire(this.getKey(this.authorizerAccessTokenKey, appId), 0); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
|
public void updateAuthorizerAccessToken(String appId, String authorizerAccessToken, int expiresInSeconds) { |
|
|
|
try (Jedis jedis = this.jedisPool.getResource()) { |
|
|
|
jedis.setex(getKey(authorizerAccessTokenKey, appId), expiresInSeconds - 200, authorizerAccessToken); |
|
|
|
jedis.setex(this.getKey(this.authorizerAccessTokenKey, appId), expiresInSeconds - 200, authorizerAccessToken); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
|
public String getJsapiTicket(String appId) { |
|
|
|
try (Jedis jedis = this.jedisPool.getResource()) { |
|
|
|
return jedis.get(getKey(jsapiTicketKey, appId)); |
|
|
|
return jedis.get(this.getKey(this.jsapiTicketKey, appId)); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
|
public boolean isJsapiTicketExpired(String appId) { |
|
|
|
try (Jedis jedis = this.jedisPool.getResource()) { |
|
|
|
return jedis.ttl(getKey(jsapiTicketKey, appId)) < 2; |
|
|
|
return jedis.ttl(this.getKey(this.jsapiTicketKey, appId)) < 2; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
|
public void expireJsapiTicket(String appId) { |
|
|
|
try (Jedis jedis = this.jedisPool.getResource()) { |
|
|
|
jedis.expire(getKey(jsapiTicketKey, appId), 0); |
|
|
|
jedis.expire(this.getKey(this.jsapiTicketKey, appId), 0); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
|
public void updateJsapiTicket(String appId, String jsapiTicket, int expiresInSeconds) { |
|
|
|
try (Jedis jedis = this.jedisPool.getResource()) { |
|
|
|
jedis.setex(getKey(jsapiTicketKey, appId), expiresInSeconds - 200, jsapiTicket); |
|
|
|
jedis.setex(this.getKey(this.jsapiTicketKey, appId), expiresInSeconds - 200, jsapiTicket); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
|
public String getCardApiTicket(String appId) { |
|
|
|
try (Jedis jedis = this.jedisPool.getResource()) { |
|
|
|
return jedis.get(getKey(jsapiTicketKey, appId)); |
|
|
|
return jedis.get(this.getKey(this.cardApiTicket, appId)); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
|
public boolean isCardApiTicketExpired(String appId) { |
|
|
|
try (Jedis jedis = this.jedisPool.getResource()) { |
|
|
|
return jedis.ttl(getKey(cardApiTicket, appId)) < 2; |
|
|
|
return jedis.ttl(this.getKey(this.cardApiTicket, appId)) < 2; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
|
public void expireCardApiTicket(String appId) { |
|
|
|
try (Jedis jedis = this.jedisPool.getResource()) { |
|
|
|
jedis.expire(getKey(cardApiTicket, appId), 0); |
|
|
|
jedis.expire(this.getKey(this.cardApiTicket, appId), 0); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
|
public void updateCardApiTicket(String appId, String cardApiTicket, int expiresInSeconds) { |
|
|
|
try (Jedis jedis = this.jedisPool.getResource()) { |
|
|
|
jedis.setex(getKey(cardApiTicket, appId), expiresInSeconds - 200, cardApiTicket); |
|
|
|
jedis.setex(this.getKey(this.cardApiTicket, appId), expiresInSeconds - 200, cardApiTicket); |
|
|
|
} |
|
|
|
} |
|
|
|
} |