JSAAS 平臺實現 微信類似的TOKEN機制
阿新 • • 發佈:2018-12-02
在企業微信中,我們在呼叫微信介面時,我們需要首先獲取token,然後根據token,呼叫API介面方法。這個token是有生命週期的,微信的token預設的生命週期是7200秒。
因此這個token可以保證平臺被安全的客戶端呼叫。
JSAAS也需要API介面呼叫,在平臺中JSAAS也實現了類似的介面API介面。
實現方式
1.註冊子系統
產生ACCESSTOKEN介面
平臺中提供了產生API介面的方法
介面地址:
http://localhost:8080/jsaas/restApi/token/genToken
傳入引數:
appId: 應用ID
secret: 金鑰
返回資料:
成功返回:
{success:true,data: token}
失敗返回:
{success:false,message: "錯誤資訊"}
使用postman測試:
呼叫介面
在平臺中配置 spring-security.xml
這個配置只有上面的URL 介面需要使用token 進行呼叫。
寫一個測試API介面方法。
@RequestMapping(value = "testToken",method={RequestMethod.POST}) @ResponseBodypublic JsonResult test(HttpServletRequest request) throws Exception { String token=request.getHeader("token"); String appId=AppTokenUtil.getAppId(token); return new JsonResult<>(true, token +"," + appId); }
客戶端呼叫時,根據上面生成的token,訪問api介面。
根據上面的程式碼可以看到,token 是通過 http頭進行傳遞的,我們可以根據 token 獲取appid,表示當前介面為那個應用。
String appId=AppTokenUtil.getAppId(token);
我們可以看到 我們可以通過token 進行訪問,如果token過期或者傳入錯誤的token,我們看下測試用例。