zoukankan      html  css  js  c++  java
  • 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,我们看下测试用例。

  • 相关阅读:
    /etc/fstab 文件如何填写(转)
    在linux下PHP和Mysql环境搞事情
    nginx 添加的配置信息
    查看服务器硬件信息
    Centos下的SVN搭建
    20170413B端业务访问故障排查思路
    快速搭建BIND服务,并实现解析
    零基础学python-19.1 列表解析与序列映射函数map
    零基础学python-18.10 函数式编程工具:filter和reduce
    零基础学python-18.9 序列映射函数:map
  • 原文地址:https://www.cnblogs.com/yg_zhang/p/10051781.html
Copyright © 2011-2022 走看看