在JBolt极速开发平台中创建的API应用程序,例如创建一个小程序应用,会自动为其分配AppId和AppSecret。
![](https://img.haomeiwen.com/i4173441/18a851d0c4591ed2.png)
AppId是这个应用的唯一标识,AppSecret则是用来生成加密jwt的。
另外,针对每个应用,都提供了checkSign机制。
![](https://img.haomeiwen.com/i4173441/494e98d5ffc9f427.png)
也就是,除了默认的Jwt请求生成、签发、接口调用时候校验JWT之外,又增加了一步安全措施,前者可以通过postman工具,轻松模拟,当然这样也便于接口调试。后者,则稍微提高了一点安全性,通过客户端将时间戳,随机字符串和JWT信息进行排序加密后,生成sign校验值,调用接口的时候携带。
![](https://img.haomeiwen.com/i4173441/3302e0db4d27dcfc.png)
![](https://img.haomeiwen.com/i4173441/4889c6b7fa52e0f6.png)
后端的拦截器,拦截到调用接口,根据APPID知道你调用的是哪个Api应用的接口后,看看这个应用是否开启了checkSIgn?
![](https://img.haomeiwen.com/i4173441/8dce9c8aa02ea000.png)
如果开启了,就得校验一下合法调用了。
如果校验sign失败,就直接返回校验失败信息了。
从header中拿到随机字符串、时间戳和sign值,还有jwt值,跟客户端同样的算法,算一遍,看看是否与sign值相同就行了。
![](https://img.haomeiwen.com/i4173441/3c5c360a080862d7.png)
全部教程:
![](https://img.haomeiwen.com/i4173441/c810b43e499d046e.png)
网友评论