FIX: Check if auth token exists before revocation (#9095)

This commit is contained in:
Bianca Nenciu
2020-03-07 15:04:12 +02:00
committed by GitHub
parent f14dd1f82d
commit 20cfa7b810
2 changed files with 15 additions and 1 deletions

View File

@ -1347,7 +1347,7 @@ class UsersController < ApplicationController
if params[:token_id]
token = UserAuthToken.find_by(id: params[:token_id], user_id: user.id)
# The user should not be able to revoke the auth token of current session.
raise Discourse::InvalidParameters.new(:token_id) if guardian.auth_token == token.auth_token
raise Discourse::InvalidParameters.new(:token_id) if !token || guardian.auth_token == token.auth_token
UserAuthToken.where(id: params[:token_id], user_id: user.id).each(&:destroy!)
MessageBus.publish "/file-change", ["refresh"], user_ids: [user.id]