Change `POST /settings/applications/:id` to regenerate token on scopes change (#23359)

Fixes #23096
This commit is contained in:
Claire 2023-02-02 12:03:49 +01:00 committed by GitHub
parent 6a5e447753
commit 20a479ff7c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 8 additions and 2 deletions

View File

@ -29,7 +29,13 @@ class Settings::ApplicationsController < Settings::BaseController
def update
if @application.update(application_params)
redirect_to settings_applications_path, notice: I18n.t('generic.changes_saved_msg')
if @application.scopes_previously_changed?
@access_token = current_user.token_for_app(@application)
@access_token.destroy
redirect_to settings_application_path(@application), notice: I18n.t('applications.token_regenerated')
else
redirect_to settings_application_path(@application), notice: I18n.t('generic.changes_saved_msg')
end
else
render :show
end

View File

@ -132,7 +132,7 @@ describe Settings::ApplicationsController do
end
it 'redirects back to applications page' do
expect(call_update).to redirect_to(settings_applications_path)
expect(call_update).to redirect_to(settings_application_path(app))
end
end