微服务引擎MSE

认证鉴权

2025-05-27 06:06:30

云原生架构中,对于服务和接口的访问通常有安全性的要求,其中一个重要的方面就是用户身份认证;云原生网关作为云原生架构的访问入口,自然是实现统一认证鉴权的理想位置。云原生网关的认证鉴权主要解决是被调用者身份和校验调用者是否有权限调用当前api等问题。当前云原生网关支持jwt和odic类型的认证鉴权。

 

jwt是一套基于用户体系对api进行访问授权的机制,主要是基于token识别调用者身份,进一步判断用户是否有权限调用当前api;jwt交互流程如下:

 

 

Jwt鉴权配置如下:

 

JWT鉴权配置参数说明:

配置

说明

鉴权名称

唯一标识一个jwt鉴权配置,只能包含大小写字母、数字和‘-’,且不能以‘-’开头或者结尾

加密算法

支持HS256、HS512、RS256

密钥

选择HS256/ HS512算法时填写,需要指定是否base64编码,并提供密钥

RSA密钥

选择RS256算法时填写,需要提供RSA算法公钥和私钥

JWT Token配置

网关从请求获取JWT Token的位置,支持指定header、query和Cookie的key

过期时间

JWT Token过期时间,默认86400秒

 

云原生网关同时支持oidc(openID Connect)鉴权方式,OIDC是对oAuth2.0的扩展,通过增加ID token字段,提供了用户基础信息;ID token采用jwt格式封装。OIDC整理流程如下:

 

 

OIDC鉴权配置如下图所示:

 

ODIC鉴权配置参数如下:

配置

说明

鉴权名称

唯一标识一个OIDC鉴权策略

Client ID

OAuth 客户端 ID

Client Secret

OAuth 客户端 secret

Discovery

身份认证服务的服务发现地址

Realm

与租户概念类似,不同 Realm 之间是相互隔离的,只能管理和验证它们所具有的用户

Redirect Uri

身份提供者重定向的 URI

Scope

用于认证的范围,默认值为openid

Bearer Only

当设置为 true 时,将仅检查请求头中的令牌(Token)。

Ssl Verify

当设置为 true 时,验证身份提供者的 SSL 证书

Access Token In Authorization Header

当设置为 true 时,将访问令牌设置在请求头参数 Authorization,否则将使用请求头参数 X-Access-Token

Set Access Token Header

在请求头设置访问令牌

Set ID Token Header

是否将 ID 令牌设置到请求头参数 X-ID-Token

Set UserInfo Header

是否将用户信息对象设置到请求头参数 X-Userinfo

logoutPath

登出路径

Timeout

请求超时时间,单位为秒

introspectionEndpoint

身份服务器的令牌认证端点

introspectionEndpointAuthMethod

令牌内省的认证方法名称,默认为client_secret_basic

publicKey

验证令牌的公钥

tokenSigningAlgValuesExpected

用于对令牌进行签名的算法


Srph0NRFRYtn