package com.sys.service; import com.cku.core.ZAErrorCode; import com.cku.util.Debugger; import com.cku.util.HttpClientUtil; import com.cku.util.HttpResult; import com.cku.util.SysConfig; import net.sf.json.JSONObject; public class TokenService { private static TokenService s_service = new TokenService(); public static TokenService instance() { return s_service; } public long verifyTokenUser(String token) throws Exception { String sessionSrvUrl = SysConfig.getInstance().getProperty("session_server_url"); HttpResult hr = HttpClientUtil.get(null, sessionSrvUrl + "/session?token=" + token, null); Debugger.doAssert(hr.getResultCode() == 200, ZAErrorCode.ZA_ERC_INVALID_STATUS, "%s", hr.getResponseBody()); JSONObject jo = JSONObject.fromObject(hr.getResponseBody()); long rc = jo.getLong("rc"); Debugger.doAssert(rc == 0, ZAErrorCode.ZA_ERC_INVALID_STATUS, jo.getString("msg")); long userId = jo.getLong("userId"); return userId; } public void invalidToken(String token) throws Exception { String sessionSrvUrl = SysConfig.getInstance().getProperty("session_server_url"); HttpResult hr = HttpClientUtil.delete(null, sessionSrvUrl + "/session?token=" + token, null); Debugger.doAssert(hr.getResultCode() == 200, ZAErrorCode.ZA_ERC_INVALID_STATUS, "%s", hr.getResponseBody()); JSONObject jo = JSONObject.fromObject(hr.getResponseBody()); long rc = jo.getLong("rc"); Debugger.doAssert(rc == 0, ZAErrorCode.ZA_ERC_INVALID_STATUS, jo.getString("msg")); } public String registerToken(Long userId) throws Exception { String sessionSrvUrl = SysConfig.getInstance().getProperty("session_server_url"); HttpResult hr = HttpClientUtil.post(null, sessionSrvUrl + "/session?userId=" + userId, null); Debugger.doAssert(hr.getResultCode() == 200, ZAErrorCode.ZA_ERC_INVALID_STATUS, "%s", hr.getResponseBody()); JSONObject jo = JSONObject.fromObject(hr.getResponseBody()); long rc = jo.getLong("rc"); Debugger.doAssert(rc == 0, ZAErrorCode.ZA_ERC_INVALID_STATUS, jo.getString("msg")); String token = jo.getString("token"); return token; } }