JSAAS 平台实现 微信类似的TOKEN机制

在企业微信中,我们在调用微信接口时,我们需要首先获取token,然后根据token,调用API接口方法。这个token是有生命周期的,微信的token默认的生命周期是7200秒。

因此这个token可以保证平台被安全的客户端调用。

JSAAS也需要API接口调用,在平台中JSAAS也实现了类似的接口API接口。

实现方式

1.注册子系统

JSAAS 平台实现 微信类似的TOKEN机制

产生ACCESSTOKEN接口

平台中提供了产生API接口的方法

接口地址:

http://localhost:8080/jsaas/restApi/token/genToken

传入参数:

appId: 应用ID

secret: 密钥

返回数据:

成功返回:

{success:true,data: token}

失败返回:

{success:false,message: "错误信息"}

使用postman测试:

JSAAS 平台实现 微信类似的TOKEN机制

调用接口

在平台中配置  spring-security.xml

JSAAS 平台实现 微信类似的TOKEN机制

这个配置只有上面的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);

JSAAS 平台实现 微信类似的TOKEN机制

我们可以看到 我们可以通过token 进行访问,如果token过期或者传入错误的token,我们看下测试用例。

JSAAS 平台实现 微信类似的TOKEN机制

上一篇:工作经常使用的SQL整理,实战篇(一)


下一篇:搭建简单Django服务并通过HttpRequester实现GET/POST http请求提交表单