@recaptime-dev's working patches + fork for Phorge, a community fork of Phabricator. (Upstream dev and stable branches are at upstream/main and upstream/stable respectively.) hq.recaptime.dev/wiki/Phorge
phorge phabricator
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Add a `bin/auth revoke` revoker for sessions

Summary: Ref T13043. Allows CLI revocation of login sessions.

Test Plan: Used `bin/auth revoke --type session` with `--from` and `--everywhere` to revoke sessions. Saw accounts get logged out in web UI.

Reviewers: amckinley

Reviewed By: amckinley

Maniphest Tasks: T13043

Differential Revision: https://secure.phabricator.com/D18892

+35
+2
src/__phutil_library_map__.php
··· 2126 2126 'PhabricatorAuthSessionGarbageCollector' => 'applications/auth/garbagecollector/PhabricatorAuthSessionGarbageCollector.php', 2127 2127 'PhabricatorAuthSessionInfo' => 'applications/auth/data/PhabricatorAuthSessionInfo.php', 2128 2128 'PhabricatorAuthSessionQuery' => 'applications/auth/query/PhabricatorAuthSessionQuery.php', 2129 + 'PhabricatorAuthSessionRevoker' => 'applications/auth/revoker/PhabricatorAuthSessionRevoker.php', 2129 2130 'PhabricatorAuthSetPasswordController' => 'applications/auth/controller/PhabricatorAuthSetPasswordController.php', 2130 2131 'PhabricatorAuthSetupCheck' => 'applications/config/check/PhabricatorAuthSetupCheck.php', 2131 2132 'PhabricatorAuthStartController' => 'applications/auth/controller/PhabricatorAuthStartController.php', ··· 7413 7414 'PhabricatorAuthSessionGarbageCollector' => 'PhabricatorGarbageCollector', 7414 7415 'PhabricatorAuthSessionInfo' => 'Phobject', 7415 7416 'PhabricatorAuthSessionQuery' => 'PhabricatorCursorPagedPolicyAwareQuery', 7417 + 'PhabricatorAuthSessionRevoker' => 'PhabricatorAuthRevoker', 7416 7418 'PhabricatorAuthSetPasswordController' => 'PhabricatorAuthController', 7417 7419 'PhabricatorAuthSetupCheck' => 'PhabricatorSetupCheck', 7418 7420 'PhabricatorAuthStartController' => 'PhabricatorAuthController',
+33
src/applications/auth/revoker/PhabricatorAuthSessionRevoker.php
··· 1 + <?php 2 + 3 + final class PhabricatorAuthSessionRevoker 4 + extends PhabricatorAuthRevoker { 5 + 6 + const REVOKERKEY = 'session'; 7 + 8 + public function revokeAllCredentials() { 9 + $table = new PhabricatorAuthSession(); 10 + $conn = $table->establishConnection('w'); 11 + 12 + queryfx( 13 + $conn, 14 + 'DELETE FROM %T', 15 + $table->getTableName()); 16 + 17 + return $conn->getAffectedRows(); 18 + } 19 + 20 + public function revokeCredentialsFrom($object) { 21 + $table = new PhabricatorAuthSession(); 22 + $conn = $table->establishConnection('w'); 23 + 24 + queryfx( 25 + $conn, 26 + 'DELETE FROM %T WHERE userPHID = %s', 27 + $table->getTableName(), 28 + $object->getPHID()); 29 + 30 + return $conn->getAffectedRows(); 31 + } 32 + 33 + }