概述
JWT全称为 JSON Web Token,是一种开放标准(RFC 7519),它定义了一种在通信各方之间以JSON对象形式安全传输信息的方式。JWT可以使用HMAC、RSA、ECDSA等算法签名;在应用中,JWT可以用于用户身份认证和访问鉴权。云原生网关作为微服务的访问入口,是实现认证鉴权的理想节点,当前云原生网关支持JWT认证方式,交互流程如下:
- JWT签发阶段,云原生网关对这类接口访问不做认证,将请求透传到业务授权服务。
- 业务授权服务认证成功后签发JWT并返回给客户端,在后续的请求中客户端会带上JWT。
- 云原生网关收到正常的业务请求时提取JWT并校验签名信息,校验通过则放过请求,否则返回401状态码。
JWT策略配置
云原生网关支持全局的JWT策略配置,在 安全认证 > 认证鉴权 菜单下,选择创建鉴权,鉴权类型选择JWT,填写相关参数即可创建JWT认证策略,JWT配置参数说明如下:
配置 | 说明 |
---|---|
鉴权名称 | 唯一标识一个JWT鉴权配置,只能包含大小写字母、数字和‘-’,且不能以‘-’开头或者结尾。 |
加密算法 | 支持HS256、HS512、RS256。 |
密钥 | 选择HS256/ HS512算法时填写,需要指定是否base64编码,并提供密钥。 |
RSA密钥 | 选择RS256算法时填写,需要提供RSA算法公钥和私钥。 |
JWT Token配置 | 网关从请求获取JWT Token的位置,支持指定header、query和Cookie的key。 |
过期时间 | JWT Token过期时间,默认86400秒。 |