
ivanjosipovic/ingress-nginx-validate-jwt该项目是一个API服务器,与ingress-nginx的nginx.ingress.kubernetes.io/auth-url注解配合使用,实现每个Ingress的自定义JWT验证。
bashhelm repo add ingress-nginx-validate-jwt [***] helm repo update helm install ingress-nginx-validate-jwt \ ingress-nginx-validate-jwt/ingress-nginx-validate-jwt \ --create-namespace \ --namespace ingress-nginx-validate-jwt \ --set openIdProviderConfigurationUrl="[***]"
yamlapiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: ingress namespace: default annotations: # 配置认证URL指向验证服务 nginx.ingress.kubernetes.io/auth-url: [***] spec: # Ingress规则配置(省略)
/auth端点支持{claim}={value}格式的可配置参数。当同一claim多次出现时,只需匹配其中一个即可通过验证。
例如,使用以下查询字符串:
/auth? tid=***-1111-1111-1111-111111111111 &aud=22222222-2222-2222-2222-222222222222 &aud=33333333-3333-3333-3333-333333333333
除验证JWT令牌有效性外,令牌还必须包含tid=***-1111-1111-1111-111111111111且满足aud为22222222-2222-2222-2222-222222222222或33333333-3333-3333-3333-333333333333中的一个。
!架构图
指标通过:8080/metrics端点暴露:
| 指标名称 | 描述 |
|---|---|
| ingress_nginx_validate_jwt_authorized | 已授权操作的数量 |
| ingress_nginx_validate_jwt_unauthorized | 未授权操作的数量 |
| ingress_nginx_validate_jwt_duration_seconds | JWT验证持续时间的直方图 |
manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务