X-Git-Url: https://git.openstreetmap.org./rails.git/blobdiff_plain/561ee71129c7d40380d384ce93c1f062651de32b..007413f9b42b9ba9047ed82fc75b5fbef35e7467:/app/models/user.rb?ds=sidebyside diff --git a/app/models/user.rb b/app/models/user.rb index d7bfb2235..c809b6192 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -210,6 +210,7 @@ class User < ApplicationRecord # Mark the account as deleted and remove personal data event :soft_destroy do before do + revoke_authentication_tokens remove_personal_data end @@ -299,6 +300,13 @@ class User < ApplicationRecord blocks.active.detect(&:needs_view?) end + ## + # revoke any authentication tokens + def revoke_authentication_tokens + oauth_tokens.authorized.each(&:invalidate!) + access_tokens.not_expired.each(&:revoke) + end + ## # remove personal data - leave the account but purge most personal data def remove_personal_data