1. 程式人生 > >JSAAS 平臺實現 微信類似的TOKEN機制

JSAAS 平臺實現 微信類似的TOKEN機制

 

在企業微信中,我們在呼叫微信介面時,我們需要首先獲取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})
    @ResponseBody
    
public 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,我們看下測試用例。