В рамках активности по замене bitnami чартов дошли руки обновить oauth2-proxy. В процессе столкнулся с тем что перестала работать авторизация в одном из приложений для которого был использован alpha config.
Чтобы проверить какие HTTP заголовки oauth2-proxy передаёт на бэкенд после прохождения авторизации можно запустить "echo" сервис, который будет отображать всю информацию о запросе который к нему поступил.
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: echo
spec:
replicas: 1
selector:
matchLabels:
app: echo
template:
metadata:
labels:
app: echo
spec:
containers:
- name: echo
image: docker.io/mendhak/http-https-echo:31
ports:
- containerPort: 8080
env:
- name: HTTP_PORT
value: "8080"
---
apiVersion: v1
kind: Service
metadata:
name: echo
spec:
selector:
app: echo
ports:
- protocol: TCP
port: 80
targetPort: 8080
После применения манифеста остаётся заменить бэкенд на http://echo и посмотреть какие заголовки были переданы со стороны oauth2-proxy.
Проблема была в изменении поведения oauth2-proxy который перестал декодировать base64 строки для secretSource.value и сейчас передаёт значение как есть. В актуальной документации это ещё не отражено, но есть сообщение об ошибке oauth2-proxy #3334 в котором пояснили как это сейчас работает.
В списке изменений для 7.14.0 есть упоминание что изменился формат конфигурации во вставке заголовков, но что там перестало декодировать base64 явным образом не указали. Нужное изменение помечено как "#2628 feat(structured config): revamp of yaml parsing using mapstructure decoder and custom decoders (@tuunit)" - для меня это не звучит как ломающее изменение, хотя по факту оно таким является.
Комментариев нет:
Отправить комментарий