很多应用服务都需要授权访问,为了更好地统一处理这种授权验证,服务网关提供了JWT验证插件用于解决这问题。网关的JWT验证插件默认是关闭的,只有当开启后网关才会对请求进行拦截验证处理。
开启
开启JWT验证需要在插件管理里开启Webapi JWT验证插件
开启验证后所有请求在没有携带JWT凭证的情况下都会返回一个jwt token is invalid!错误
配置
为了更好使用JWT验证插件需要进入插件配置了解相关属性
请求类型
针对对一个或多个不不同后缀名的请求路径进行验证,null为没有后缀名的路径。
白名单
可以针对不需要验证的路径添加到白名单中,添加后这些路径无须验证处理。
应用ID
用于生成和验证凭所对应的应用ID字符串信息。
JWT Key
用于生成JWT凭证的密钥
获取TOKEN
可以通过/__system/jwtauth/GetAccessToken?appid=地址来生成验证的Token
生成凭证签名
可以通过/__system/jwtauth/GetJwtToken生成访问凭证签名,带上以下参数:
appid(应用ID)
token(凭证)
name(用户名)
role(角色)
设置凭证
当获取凭证签名后,只需要把相关签名设置到请求头的Authorization上即可以有效访问
由于凭证签名带有用户名和角色,因此网关会把这两个信息分别以jwt_user和jwt_role名称传递给后台的应用服务。
BeetleX
开源跨平台通讯框架(支持TLS)
提供高性能服务和大数据处理解决方案
https://beetlex-io.com