Skip to content

Add slack_app_signing_secret to ApplicationSettings

What does this MR do and why?

This MR adds an encrypted slack_app_signing_secret property to ApplicationSettings.

The signing secret allows us to verify a Slack request.

The signing secret setting will be used in !86323 (merged).

Related to #358676 (closed)

QA Steps

To QA the change to the admin application settings:

  • Comment out this line so that you can see the partial on your instance.
  • Visit admin/application_settings/general.

To QA the changes to the settings API:

POST:

curl --location --request PUT 'http://gdk.test:3000/api/v4/application/settings?private_token=<your-token>&slack_app_signing_secret=foo'

GET:

curl --location --request GET 'http://gdk.test:3000/api/v4/application/settings?private_token=<your-token>'

Migrations

Up

bundle exec rake db:migrate:up:main VERSION=20220504042847

== 20220504042847 AddSlackSigningKeyToApplicationSettings: migrating ==========
-- add_column(:application_settings, :encrypted_slack_app_signing_secret, :binary)
   -> 0.0130s
-- add_column(:application_settings, :encrypted_slack_app_signing_secret_iv, :binary)
   -> 0.0011s
== 20220504042847 AddSlackSigningKeyToApplicationSettings: migrated (0.0142s) =

Down

bundle exec rake db:migrate:down:main VERSION=20220504042847

== 20220504042847 AddSlackSigningKeyToApplicationSettings: reverting ==========
-- remove_column(:application_settings, :encrypted_slack_app_signing_secret_iv, :binary)
   -> 0.0059s
-- remove_column(:application_settings, :encrypted_slack_app_signing_secret, :binary)
   -> 0.0006s
== 20220504042847 AddSlackSigningKeyToApplicationSettings: reverted (0.0077s) =

MR acceptance checklist

This checklist encourages us to confirm any changes have been analyzed to reduce risks in quality, performance, reliability, security, and maintainability.

Edited by Luke Duncalfe

Merge request reports

Loading