@@ -197,29 +197,97 @@ jobs:
197197
198198 oauthProxy:
199199 enabled: true
200- image:
201- repository: ${{ env.REGISTRY }}/bcgov-dss/api-serv-infra/oauth2-proxy
202- tag: 7.2.1-8c743f0c
203- pullPolicy: IfNotPresent
204200
205201 config:
206- upstream: http://127.0.0.1:3000
207- client-id: ${{ secrets.OIDC_CLIENT_ID }}
208- client-secret: ${{ secrets.OIDC_CLIENT_SECRET }}
209- oidc-issuer-url: ${{ secrets.OIDC_ISSUER }}
210- redirect-url: https://api-services-portal-${{ steps.set-deploy-id.outputs.DEPLOY_ID }}.apps.silver.devops.gov.bc.ca/oauth2/callback
211- skip-auth-regex: '/login|/health|/public|/docs|/redirect|/_next|/images|/devportal|/manager|/about|/maintenance|/admin/session|/ds/api|/feed/|/signout|/content|^[/]$'
212- whitelist-domain: authz-apps-gov-bc-ca.dev.api.gov.bc.ca
213- skip-provider-button: 'true'
214- profile-url: ${{ secrets.OIDC_ISSUER }}/protocol/openid-connect/userinfo
215- insecure-oidc-allow-unverified-email: 'true'
216- oidc-email-claim: 'sub'
217- pass-basic-auth: 'false'
218- pass-access-token: 'true'
219- set-xauthrequest: 'true'
220- skip-jwt-bearer-tokens: 'false'
221- set-authorization-header: 'false'
222- pass-authorization-header: 'false'
202+ - filename: oauth2-proxy.cfg
203+ mountPath: /oauth2-proxy.cfg
204+ contents: |-
205+ cookie_expire='24h'
206+ cookie_refresh='3m'
207+ cookie_secure='true'
208+ cookie_samesite='strict'
209+ cookie_secret='not_secretenough'
210+ email_domains='*'
211+ redirect_url='https://api-services-portal-${{ steps.set-deploy-id.outputs.DEPLOY_ID }}.apps.silver.devops.gov.bc.ca/oauth2/callback'
212+ skip_auth_regex='/login|/health|/public|/docs|/redirect|/_next|/images|/devportal|/manager|/about|/maintenance|/admin/session|/ds/api|/feed|/metrics|/signout|/gw/api|/content|^[/]$'
213+ skip_jwt_bearer_tokens='false'
214+ skip_provider_button='true'
215+ whitelist_domains='authz-apps-gov-bc-ca.dev.api.gov.bc.ca'
216+ # redis_connection_url="redis://redis-headless:6379"
217+ # session_store_type="redis"
218+ # redis_password=""
219+ # insecure-oidc-allow-unverified-email: 'true'
220+ # insecure-oidc-skip-issuer-verification: 'true'
221+ # oidc-email-claim: 'sub'
222+ # pass-authorization-header: 'false'
223+ # set-authorization-header: 'false'
224+
225+ - filename: oauth2-proxy.yaml
226+ mountPath: /oauth2-proxy.yaml
227+ yaml:
228+ injectRequestHeaders:
229+ - name: X-Forwarded-Groups
230+ values:
231+ - claim: groups
232+ - name: X-Forwarded-User
233+ values:
234+ - claim: user
235+ - name: X-Forwarded-Email
236+ values:
237+ - claim: email
238+ - name: X-Forwarded-Preferred-Username
239+ values:
240+ - claim: preferred_username
241+ - name: X-Forwarded-Access-Token
242+ values:
243+ - claim: access_token
244+ injectResponseHeaders: []
245+ metricsServer:
246+ BindAddress: ""
247+ SecureBindAddress: ""
248+ TLS: null
249+ providers:
250+ - clientID: ${{ secrets.OIDC_CLIENT_ID }}
251+ clientSecret: ${{ secrets.OIDC_CLIENT_SECRET }}
252+ loginURL: ${{ secrets.OIDC_ISSUER }}/protocol/openid-connect/auth
253+ id: oidc=aps-portal
254+ loginURLParameters:
255+ - default:
256+ - force
257+ name: approval_prompt
258+ - allow:
259+ - pattern: ".*$"
260+ name: kc_idp_hint
261+ oidcConfig:
262+ audienceClaims:
263+ - aud
264+ emailClaim: sub
265+ groupsClaim: groups
266+ insecureAllowUnverifiedEmail: true
267+ insecureSkipNonce: true
268+ issuerURL: ${{ secrets.OIDC_ISSUER }}
269+ userIDClaim: sub
270+
271+ profileURL: ${{ secrets.OIDC_ISSUER }}/protocol/openid-connect/userinfo
272+ provider: oidc
273+ redeemURL: ${{ secrets.OIDC_ISSUER }}/protocol/openid-connect/token
274+ scope: openid
275+ validateURL: ${{ secrets.OIDC_ISSUER }}/protocol/openid-connect/userinfo
276+
277+ server:
278+ BindAddress: 0.0.0.0:7999
279+ SecureBindAddress: ""
280+ TLS: null
281+ upstreamConfig:
282+ upstreams:
283+ - flushInterval: 1s
284+ id: /
285+ passHostHeader: true
286+ path: /
287+ proxyWebSockets: true
288+ timeout: 30s
289+ uri: http://127.0.0.1:3000
290+
223291 env:
224292 SESSION_SECRET:
225293 value: '234873290483290'
0 commit comments