124_backfill_legacy_oidc_security_flags.sql 899 B

1234567891011121314151617181920212223242526272829303132
  1. -- Preserve legacy OIDC behavior for upgraded installs that predate the
  2. -- introduction of secure PKCE/id_token defaults. Fresh installs continue to
  3. -- inherit runtime defaults when these rows are absent.
  4. WITH legacy_oidc_install AS (
  5. SELECT 1
  6. FROM settings
  7. WHERE key IN (
  8. 'oidc_connect_enabled',
  9. 'oidc_connect_client_id',
  10. 'oidc_connect_authorize_url',
  11. 'oidc_connect_token_url',
  12. 'oidc_connect_issuer_url',
  13. 'oidc_connect_userinfo_url',
  14. 'oidc_connect_frontend_redirect_url'
  15. )
  16. LIMIT 1
  17. )
  18. INSERT INTO settings (key, value)
  19. SELECT defaults.key, 'false'
  20. FROM legacy_oidc_install
  21. CROSS JOIN (
  22. VALUES
  23. ('oidc_connect_use_pkce'),
  24. ('oidc_connect_validate_id_token')
  25. ) AS defaults(key)
  26. WHERE NOT EXISTS (
  27. SELECT 1
  28. FROM settings existing
  29. WHERE existing.key = defaults.key
  30. )
  31. ON CONFLICT (key) DO NOTHING;