mirror of https://github.com/nextcloud/bookmarks
parent
eb0df1fb1b
commit
65d5e5d46e
|
@ -69,7 +69,8 @@ class Application extends App {
|
|||
$c->query('ServerContainer')->getL10NFactory()->get('bookmarks'),
|
||||
$c->query('ServerContainer')->query(Bookmarks::class),
|
||||
$c->query('ServerContainer')->getUserManager(),
|
||||
$c->query('ServerContainer')->getLogger()
|
||||
$c->query('ServerContainer')->getLogger(),
|
||||
$c->query('ServerContainer')->getUserSession()
|
||||
);
|
||||
});
|
||||
|
||||
|
@ -90,7 +91,8 @@ class Application extends App {
|
|||
$c->query('ServerContainer')->query(FaviconPreviewService::class),
|
||||
$c->query('ServerContainer')->query(ScreenlyPreviewService::class),
|
||||
$c->query('ServerContainer')->query(ITimeFactory::class),
|
||||
$c->query('ServerContainer')->getLogger()
|
||||
$c->query('ServerContainer')->getLogger(),
|
||||
$c->query('ServerContainer')->getUserSession()
|
||||
);
|
||||
});
|
||||
|
||||
|
|
|
@ -20,6 +20,7 @@ use \OCP\AppFramework\Http\DataResponse;
|
|||
use \OCP\AppFramework\Http\TemplateResponse;
|
||||
use \OCP\AppFramework\Http;
|
||||
use \OC\User\Manager;
|
||||
use \OCP\IUserSession;
|
||||
use \OCA\Bookmarks\Controller\Lib\Bookmarks;
|
||||
use \OCA\Bookmarks\Controller\Lib\ExportResponse;
|
||||
use \OCA\Bookmarks\Controller\Lib\Helper;
|
||||
|
@ -35,7 +36,7 @@ class BookmarkController extends ApiController {
|
|||
/** @var Bookmarks */
|
||||
private $bookmarks;
|
||||
|
||||
public function __construct($appName, IRequest $request, $userId, IDBConnection $db, IL10N $l10n, Bookmarks $bookmarks, Manager $userManager, ILogger $logger) {
|
||||
public function __construct($appName, IRequest $request, $userId, IDBConnection $db, IL10N $l10n, Bookmarks $bookmarks, Manager $userManager, ILogger $logger, IUserSession $userSession) {
|
||||
parent::__construct($appName, $request);
|
||||
$this->userId = $userId;
|
||||
$this->db = $db;
|
||||
|
@ -44,6 +45,7 @@ class BookmarkController extends ApiController {
|
|||
$this->bookmarks = $bookmarks;
|
||||
$this->userManager = $userManager;
|
||||
$this->logger = $logger;
|
||||
$this->userSession = $userSession;
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -107,6 +109,7 @@ class BookmarkController extends ApiController {
|
|||
* @NoAdminRequired
|
||||
* @NoCSRFRequired
|
||||
* @CORS
|
||||
* @PublicPage
|
||||
*/
|
||||
public function getBookmarks(
|
||||
$type = "bookmark",
|
||||
|
@ -147,6 +150,20 @@ class BookmarkController extends ApiController {
|
|||
return $response;
|
||||
});
|
||||
|
||||
list($method, $credentials) = explode(' ', $this->request->getHeader('Authorization'));
|
||||
if ($method !== 'Basic') {
|
||||
$res = new DataResponse(['status' => 'error', 'data' => 'Unauthorized'], Http::STATUS_UNAUTHORIZED);
|
||||
$res->addHeader('WWW-Authenticate', 'Basic realm="Nextcloud", charset="UTF-8"');
|
||||
return $res;
|
||||
} else {
|
||||
list($username, $password) = explode(':', base64_decode($credentials));
|
||||
if (false === $this->userSession->login($username, $password)) {
|
||||
$res = new DataResponse(['status' => 'error', 'data' => 'Unauthorized'], Http::STATUS_UNAUTHORIZED);
|
||||
$res->addHeader('WWW-Authenticate', 'Basic realm="Nextcloud", charset="UTF-8"');
|
||||
return $res;
|
||||
}
|
||||
}
|
||||
|
||||
if ($user === null) {
|
||||
$user = $this->userId;
|
||||
$publicOnly = false;
|
||||
|
|
|
@ -13,6 +13,7 @@ namespace OCA\Bookmarks\Controller\Rest;
|
|||
use OCP\IDBConnection;
|
||||
use OCP\IL10N;
|
||||
use OCP\ILogger;
|
||||
use OCP\IUserSession;
|
||||
use \OCP\IRequest;
|
||||
use \OCP\AppFramework\ApiController;
|
||||
use \OCP\AppFramework\Http\DataDisplayResponse;
|
||||
|
@ -49,10 +50,11 @@ class InternalBookmarkController extends ApiController {
|
|||
IPreviewService $faviconService,
|
||||
IPreviewService $screenshotService,
|
||||
ITimeFactory $timeFactory,
|
||||
ILogger $logger
|
||||
ILogger $logger,
|
||||
IUserSession $userSession
|
||||
) {
|
||||
parent::__construct($appName, $request);
|
||||
$this->publicController = new BookmarkController($appName, $request, $userId, $db, $l10n, $bookmarks, $userManager, $logger);
|
||||
$this->publicController = new BookmarkController($appName, $request, $userId, $db, $l10n, $bookmarks, $userManager, $logger, $userSession);
|
||||
$this->userId = $userId;
|
||||
$this->libBookmarks = $bookmarks;
|
||||
$this->previewService = $previewService;
|
||||
|
|
|
@ -25,7 +25,7 @@ echo '<?xml version="1.0" encoding="UTF-8"?>';
|
|||
|
||||
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
|
||||
<channel>
|
||||
<title><?php p($l->t('Bookmarks feed')); ?></title>uuu
|
||||
<title><?php p($l->t('Bookmarks feed')); ?></title>
|
||||
<language><?php p($_['rssLang']); ?></language>
|
||||
<description><?php p($_['description']); ?></description>
|
||||
<pubDate><?php p($_['rssPubDate']); ?></pubDate>
|
||||
|
|
Loading…
Reference in New Issue