kubernetes-sigs/aws-load-balancer-controller

Configure OIDC authentication using an OIDC discovery URL

開放

#2,921 建立於 2022年12月9日

 (7 則留言) (2 個反應) (0 位負責人)Go (1,644 個分叉)auto 404
good first issuekind/feature

倉庫指標

星標
 (4,317 顆星)
PR 合併指標
 (平均合併 14天 12小時) (30 天內合併 16 個 PR)

描述

Is your feature request related to a problem? No, this is an enhancement.

Describe the solution you'd like Being able to use a single OpenID Connect Discovery endpoint in the alb.ingress.kubernetes.io/auth-idp-oidc annotation, instead of having to specify multiple OIDC configuration fields.

This would greatly simplify configuration of OIDC authentication when using an IdP that supports discovery (e.g. Keycloak, Okta, etc).

Currently the annotation has to specify a number of fields, this is the example from the docs:

alb.ingress.kubernetes.io/auth-idp-oidc: '{"issuer":"https://example.com","authorizationEndpoint":"https://authorization.example.com","tokenEndpoint":"https://token.example.com","userInfoEndpoint":"https://userinfo.example.com","secretName":"my-k8s-secret"}'

This could be simplified, for example:

alb.ingress.kubernetes.io/auth-idp-oidc: '{"discoveryEndpoint":"https://authorization.example.com","secretName":"my-k8s-secret"}'

The issuer, authorizationEndpoint, tokenEndpoint, and userInfoEndpoint can all be retrieved from the JSON object served by the discovery endpoint.

Describe alternatives you've considered Not applicable? I currently use the annotation as documented, this would be a further enhancement.

References https://swagger.io/docs/specification/authentication/openid-connect-discovery/ https://openid.net/specs/openid-connect-discovery-1_0.html

貢獻者指南