4040use OCP \EventDispatcher \IEventDispatcher ;
4141use OCP \ILogger ;
4242use OCP \IUserManager ;
43+ use OCP \User \Events \BeforeUserLoggedInEvent ;
4344use OCP \User \Events \UserLoggedInEvent ;
4445
4546/**
@@ -166,12 +167,16 @@ public static function setupBackends() {
166167 public static function loginWithApache (\OCP \Authentication \IApacheBackend $ backend ) {
167168 $ uid = $ backend ->getCurrentUserId ();
168169 $ run = true ;
169- OC_Hook::emit ("OC_User " , "pre_login " , ["run " => &$ run , "uid " => $ uid , 'backend ' => $ backend ]);
170+ // OC_Hook::emit("OC_User", "pre_login", ["run" => &$run, "uid" => $uid, 'backend' => $backend]);
170171
171172 if ($ uid ) {
172173 if (self ::getUser () !== $ uid ) {
173174 self ::setUserId ($ uid );
174175 $ userSession = \OC ::$ server ->getUserSession ();
176+
177+ /** @var IEventDispatcher $dispatcher */
178+ $ dispatcher = \OC ::$ server ->get (IEventDispatcher::class);
179+
175180 if ($ userSession ->getUser () && !$ userSession ->getUser ()->isEnabled ()) {
176181 $ message = \OC ::$ server ->getL10N ('lib ' )->t ('User disabled ' );
177182 throw new LoginException ($ message );
@@ -182,6 +187,10 @@ public static function loginWithApache(\OCP\Authentication\IApacheBackend $backe
182187 if ($ backend instanceof \OCP \Authentication \IProvideUserSecretBackend) {
183188 $ password = $ backend ->getCurrentUserSecret ();
184189 }
190+
191+ /** @var IEventDispatcher $dispatcher */
192+ $ dispatcher ->dispatchTyped (new BeforeUserLoggedInEvent ($ uid , $ password , $ backend ));
193+
185194 $ userSession ->createSessionToken ($ request , $ uid , $ uid , $ password );
186195 $ userSession ->createRememberMeToken ($ userSession ->getUser ());
187196 // setup the filesystem
@@ -199,8 +208,6 @@ public static function loginWithApache(\OCP\Authentication\IApacheBackend $backe
199208 'isTokenLogin ' => false ,
200209 ]
201210 );
202- /** @var IEventDispatcher $dispatcher */
203- $ dispatcher = \OC ::$ server ->get (IEventDispatcher::class);
204211 $ dispatcher ->dispatchTyped (new UserLoggedInEvent (
205212 \OC ::$ server ->get (IUserManager::class)->get ($ uid ),
206213 $ uid ,
0 commit comments