35
$sessionStorage = new \Xibo\Storage\ApiSessionStorage($app->store);
36
$accessTokenStorage = new \Xibo\Storage\ApiAccessTokenStorage($app->store);
37
$clientStorage = new \Xibo\Storage\ApiClientStorage($app->store);
38
$scopeStorage = new \Xibo\Storage\ApiScopeStorage($app->store);
40
$server = new \League\OAuth2\Server\ResourceServer(
48
$app->server = $server;
50
35
$isAuthorised = function() use ($app) {
51
36
// Validate we are a valid auth
52
37
/* @var ResourceServer $server */
53
38
$server = $this->app->server;
55
$server->isValidRequest(false);
57
/* @var \Xibo\Entity\User $user */
40
$app->server->isValidRequest(false);
60
42
// What type of access has been requested?
61
43
if ($server->getAccessToken()->getSession()->getOwnerType() == 'user')
62
$user = $app->userFactory->getById($server->getAccessToken()->getSession()->getOwnerId());
44
$this->app->user = UserFactory::loadById($server->getAccessToken()->getSession()->getOwnerId());
64
$user = $app->userFactory->loadByClientId($server->getAccessToken()->getSession()->getOwnerId());
66
$user->setChildAclDependencies($app->userGroupFactory, $app->pageFactory);
70
$this->app->user = $user;
46
$this->app->user = UserFactory::loadByClientId($server->getAccessToken()->getSession()->getOwnerId());
72
48
// Get the current route pattern
73
49
$resource = $app->router->getCurrentRoute()->getPattern();
75
51
// Do they have permission?
76
$this->app->user->routeAuthentication($resource, $app->request()->getMethod(), $server->getAccessToken()->getScopes());
52
$this->app->user->routeAuthentication($resource);
79
55
$app->hook('slim.before.dispatch', $isAuthorised);