https://github.com/pwillie/oidc-ingress
https://github.com/pwillie/oidc-ingress
kubernetes oidc oidc-ingress
Last synced: about 1 month ago
JSON representation
- Host: GitHub
- URL: https://github.com/pwillie/oidc-ingress
- Owner: pwillie
- Created: 2018-01-18T02:13:57.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2020-10-09T14:27:37.000Z (over 4 years ago)
- Last Synced: 2024-11-03T21:34:04.901Z (6 months ago)
- Topics: kubernetes, oidc, oidc-ingress
- Language: Go
- Size: 92.8 KB
- Stars: 3
- Watchers: 1
- Forks: 4
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- Authors: AUTHORS.md
Awesome Lists containing this project
- awesome-starred - pwillie/oidc-ingress - (kubernetes)
README
# oidc-ingress
A webhook authentication service using OIDC and cookies
Motivation for creating this service is to easily add OIDC authentication to any
service running behind an Nginx Ingress controller in Kubernetes. By using cookies
there is no need for client side changes and any legacy system/service can be authenticated.## Kubernetes Nginx Ingress OIDC sequence diagram

Created using: *https://sequencediagram.org/*
## Configuration
| Env Var | CMD line arg | Default Value | Notes |
|----------|--------------|---------------|-------|
| CLIENTS | -clients | - | OIDC clients config expressed in yaml (see below) |
| LISTEN | -listen | :8000 | Web server listen address |
| INTERNAL | -internal | :9000 | Internal listen address for healthz and metrics endpoints |
| VERSION | -version | - | When set will print version and exit |## Clients
Clients env var (or cmd line arg) is a YAML formated string. For example:
```
- provider: https://oauth.provider.url/
clientid: client_id
clientsecret: client_secret
noredirect: false (default: false)
scopes: (default: - openid)
- openid
- profile
```*note:* `noredirect` will suppress the `?rd={redirect url}` from the path. Handy for Azure AD as querystring is stripped anyway and redirect url must match exactly.
## Building
```console
$ make build
$ ./bin/oidc-ingress
```## Testing
```
$ make test
```