Page MenuHomePhabricator

D16890.id.diff
No OneTemporary

D16890.id.diff

diff --git a/src/__phutil_library_map__.php b/src/__phutil_library_map__.php
--- a/src/__phutil_library_map__.php
+++ b/src/__phutil_library_map__.php
@@ -1943,6 +1943,7 @@
'PhabricatorAuthSessionEngineExtension' => 'applications/auth/engine/PhabricatorAuthSessionEngineExtension.php',
'PhabricatorAuthSessionEngineExtensionModule' => 'applications/auth/engine/PhabricatorAuthSessionEngineExtensionModule.php',
'PhabricatorAuthSessionGarbageCollector' => 'applications/auth/garbagecollector/PhabricatorAuthSessionGarbageCollector.php',
+ 'PhabricatorAuthSessionInfo' => 'applications/auth/data/PhabricatorAuthSessionInfo.php',
'PhabricatorAuthSessionQuery' => 'applications/auth/query/PhabricatorAuthSessionQuery.php',
'PhabricatorAuthSetupCheck' => 'applications/config/check/PhabricatorAuthSetupCheck.php',
'PhabricatorAuthStartController' => 'applications/auth/controller/PhabricatorAuthStartController.php',
@@ -6776,6 +6777,7 @@
'PhabricatorAuthSessionEngineExtension' => 'Phobject',
'PhabricatorAuthSessionEngineExtensionModule' => 'PhabricatorConfigModule',
'PhabricatorAuthSessionGarbageCollector' => 'PhabricatorGarbageCollector',
+ 'PhabricatorAuthSessionInfo' => 'Phobject',
'PhabricatorAuthSessionQuery' => 'PhabricatorCursorPagedPolicyAwareQuery',
'PhabricatorAuthSetupCheck' => 'PhabricatorSetupCheck',
'PhabricatorAuthStartController' => 'PhabricatorAuthController',
diff --git a/src/applications/auth/data/PhabricatorAuthSessionInfo.php b/src/applications/auth/data/PhabricatorAuthSessionInfo.php
new file mode 100644
--- /dev/null
+++ b/src/applications/auth/data/PhabricatorAuthSessionInfo.php
@@ -0,0 +1,36 @@
+<?php
+
+final class PhabricatorAuthSessionInfo extends Phobject {
+
+ private $sessionType;
+ private $identityPHID;
+ private $isPartial;
+
+ public function setSessionType($session_type) {
+ $this->sessionType = $session_type;
+ return $this;
+ }
+
+ public function getSessionType() {
+ return $this->sessionType;
+ }
+
+ public function setIdentityPHID($identity_phid) {
+ $this->identityPHID = $identity_phid;
+ return $this;
+ }
+
+ public function getIdentityPHID() {
+ return $this->identityPHID;
+ }
+
+ public function setIsPartial($is_partial) {
+ $this->isPartial = $is_partial;
+ return $this;
+ }
+
+ public function getIsPartial() {
+ return $this->isPartial;
+ }
+
+}
diff --git a/src/applications/auth/engine/PhabricatorAuthSessionEngine.php b/src/applications/auth/engine/PhabricatorAuthSessionEngine.php
--- a/src/applications/auth/engine/PhabricatorAuthSessionEngine.php
+++ b/src/applications/auth/engine/PhabricatorAuthSessionEngine.php
@@ -270,6 +270,16 @@
$log->save();
unset($unguarded);
+ $info = id(new PhabricatorAuthSessionInfo())
+ ->setSessionType($session_type)
+ ->setIdentityPHID($identity_phid)
+ ->setIsPartial($partial);
+
+ $extensions = PhabricatorAuthSessionEngineExtension::getAllExtensions();
+ foreach ($extensions as $extension) {
+ $extension->didEstablishSession($info);
+ }
+
return $session_key;
}
@@ -837,6 +847,11 @@
// Switch to the user's translation.
PhabricatorEnv::setLocaleCode($user->getTranslation());
+
+ $extensions = PhabricatorAuthSessionEngineExtension::getAllExtensions();
+ foreach ($extensions as $extension) {
+ $extension->willServeRequestForUser($user);
+ }
}
}
diff --git a/src/applications/auth/engine/PhabricatorAuthSessionEngineExtension.php b/src/applications/auth/engine/PhabricatorAuthSessionEngineExtension.php
--- a/src/applications/auth/engine/PhabricatorAuthSessionEngineExtension.php
+++ b/src/applications/auth/engine/PhabricatorAuthSessionEngineExtension.php
@@ -16,6 +16,14 @@
abstract public function getExtensionName();
+ public function didEstablishSession(PhabricatorAuthSessionInfo $info) {
+ return;
+ }
+
+ public function willServeRequestForUser(PhabricatorUser $user) {
+ return;
+ }
+
public function didLogout(PhabricatorUser $user, array $sessions) {
return;
}

File Metadata

Mime Type
text/plain
Expires
Sun, Mar 16, 2:14 AM (6 d, 21 h ago)
Storage Engine
blob
Storage Format
Encrypted (AES-256-CBC)
Storage Handle
7705140
Default Alt Text
D16890.id.diff (4 KB)

Event Timeline