20250210105644_open_id_connect_pkce.rb 1.4 KB

1234567891011121314151617181920212223242526272829303132333435
  1. # Copyright (C) 2012-2025 Zammad Foundation, https://zammad-foundation.org/
  2. class OpenIdConnectPkce < ActiveRecord::Migration[7.2]
  3. def change
  4. # return if it's a new setup
  5. return if !Setting.exists?(name: 'system_init_done')
  6. setting = Setting.find_by(name: 'auth_openid_connect_credentials')
  7. return if setting.nil?
  8. setting.options[:form].push({
  9. display: 'PKCE',
  10. null: true,
  11. default: true,
  12. name: 'pkce',
  13. tag: 'select',
  14. options: {
  15. true => 'yes',
  16. false => 'no',
  17. },
  18. translate: true,
  19. help: 'Proof Key for Code Exchange is currently only supporting SHA256 as code challenge method.',
  20. })
  21. setting.options[:form].push({
  22. display: 'Your callback URL',
  23. null: true,
  24. name: 'callback_url',
  25. tag: 'auth_provider',
  26. provider: 'auth_openid_connect',
  27. })
  28. setting.save!
  29. end
  30. end