REST: basic read restrictions
authorTim Starling <tstarling@wikimedia.org>
Wed, 26 Jun 2019 02:33:35 +0000 (12:33 +1000)
committerTim Starling <tstarling@wikimedia.org>
Tue, 9 Jul 2019 05:23:20 +0000 (15:23 +1000)
commit94c0baaa2fb1761292539aad689df54fe44d2d46
tree5e686b588484b403947f24b675cb09f030efe492
parent80a84feb89b155b48eb29e7d64d434064f28b54d
REST: basic read restrictions

Protect private wikis by providing basic read restrictions,
closely following the example of the action API.

The BasicAccess module provides a narrow interface for this
functionality, without exposing the whole session/user concept to the
router.

Also, add RouterTest and fix a bug in Router::getRelativePath() thus
discovered.

Change-Id: I82319d56f08b2eec4a585ff6dbd348ccdbadc5b5
15 files changed:
includes/Rest/BasicAccess/BasicAuthorizerBase.php [new file with mode: 0644]
includes/Rest/BasicAccess/BasicAuthorizerInterface.php [new file with mode: 0644]
includes/Rest/BasicAccess/BasicRequestAuthorizer.php [new file with mode: 0644]
includes/Rest/BasicAccess/MWBasicAuthorizer.php [new file with mode: 0644]
includes/Rest/BasicAccess/MWBasicRequestAuthorizer.php [new file with mode: 0644]
includes/Rest/BasicAccess/StaticBasicAuthorizer.php [new file with mode: 0644]
includes/Rest/EntryPoint.php
includes/Rest/Handler.php
includes/Rest/Handler/HelloHandler.php
includes/Rest/Router.php
tests/phpunit/includes/Rest/BasicAccess/MWBasicRequestAuthorizerTest.php [new file with mode: 0644]
tests/phpunit/unit/includes/Rest/EntryPointTest.php
tests/phpunit/unit/includes/Rest/Handler/HelloHandlerTest.php
tests/phpunit/unit/includes/Rest/RouterTest.php [new file with mode: 0644]
tests/phpunit/unit/includes/Rest/testRoutes.json