getUserSession(); $result = $userSession->login($this->user, $this->password); if ($result) { //we need to pass the user name, which may differ from login name $user = $userSession->getUser()->getUID(); \OC_Util::setupFS($user); //trigger creation of user home and /files folder \OC::$server->getUserFolder($user); return [true, "principals/$user"]; } return [false, 'login failed']; } /** * This method is called when a user could not be authenticated, and * authentication was required for the current request. * * This gives you the opportunity to set authentication headers. The 401 * status code will already be set. * * In this case of Basic Auth, this would for example mean that the * following header needs to be set: * * $response->addHeader('WWW-Authenticate', 'Basic realm=SabreDAV'); * * Keep in mind that in the case of multiple authentication backends, other * WWW-Authenticate headers may already have been set, and you'll want to * append your own WWW-Authenticate header instead of overwriting the * existing one. * * @param RequestInterface $request * @param ResponseInterface $response * @return void */ public function challenge(RequestInterface $request, ResponseInterface $response): void { // TODO: Implement challenge() method. } }