$extensionsDirectory = APPLICATION_PATH . "/extensions"; $responseData = (require "{$extensionsDirectory}/{$extensionName}/api.php"); $nonceOptions = $requestNonceProvider->getOptions(); $newNonces = $requestNonceProvider->getNewNoncesThisRequest(); header($nonceOptions['nonce_response_header'] . ': ' . implode($newNonces, ",")); if (!is_array($responseData)) { throw new \RuntimeException("Extension {$extensionName} must return array, got " . gettype($responseData) . " instead."); } return JsonView::render($responseData); } /** * Slim Routes * (Collections arranged alphabetically) */ $app->post("/{$v}/auth/login/?", function () use($app, $ZendDb, $acl, $requestNonceProvider) { $response = array('message' => "Wrong username/password", 'success' => false, 'all_nonces' => $requestNonceProvider->getAllNonces()); if (Auth::loggedIn()) { $response['success'] = true; return JsonView::render($response); } $req = $app->request(); $email = $req->post('email'); $password = $req->post('password'); $Users = new DirectusUsersTableGateway($acl, $ZendDb); $user = $Users->findOneBy('email', $email); // ------------------------------ // Check if group needs whitelist $groupId = $user['group']; $directusGroupsTableGateway = new DirectusGroupsTableGateway($acl, $ZendDb); $group = $directusGroupsTableGateway->find($groupId); if (1 == $group['restrict_to_ip_whitelist']) {
} else { $email = $request->post('email'); $password = $request->post('password'); } if ($email && $password) { $user = Auth::getUserByAuthentication($email, $password); if ($user) { unset($response['message']); $response['success'] = true; $response['data'] = ['token' => $user['token']]; } } return JsonView::render($response); })->name('request_token'); $app->post("/{$v}/auth/login/?", function () use($app, $ZendDb, $acl, $requestNonceProvider) { $response = ['message' => __t('incorrect_email_or_password'), 'success' => false, 'all_nonces' => $requestNonceProvider->getAllNonces()]; if (Auth::loggedIn()) { $response['success'] = true; return JsonView::render($response); } $req = $app->request(); $email = $req->post('email'); $password = $req->post('password'); $Users = new DirectusUsersTableGateway($acl, $ZendDb); $user = $Users->findOneBy('email', $email); if (!$user) { return JsonView::render($response); } // ------------------------------ // Check if group needs whitelist $groupId = $user['group'];
function getNonces() { $requestNonceProvider = new RequestNonceProvider(); $nonces = array_merge($requestNonceProvider->getOptions(), array('pool' => $requestNonceProvider->getAllNonces())); return $nonces; }
$extensionsDirectory = APPLICATION_PATH . "/extensions"; $responseData = (require "{$extensionsDirectory}/{$extensionName}/api.php"); $nonceOptions = $requestNonceProvider->getOptions(); $newNonces = $requestNonceProvider->getNewNoncesThisRequest(); header($nonceOptions['nonce_response_header'] . ': ' . implode($newNonces, ",")); if (!is_array($responseData)) { throw new \RuntimeException("Extension {$extensionName} must return array, got " . gettype($responseData) . " instead."); } return JsonView::render($responseData); } /** * Slim Routes * (Collections arranged alphabetically) */ $app->post("/{$v}/auth/login/?", function () use($app, $ZendDb, $acl, $requestNonceProvider) { $response = array('message' => "Wrong username/password", 'success' => false, 'all_nonces' => $requestNonceProvider->getAllNonces()); if (Auth::loggedIn()) { $response['success'] = true; return JsonView::render($response); } $req = $app->request(); $email = $req->post('email'); $password = $req->post('password'); $Users = new DirectusUsersTableGateway($acl, $ZendDb); $user = $Users->findOneBy('email', $email); // ------------------------------ // Check if group needs whitelist $groupId = $user['group']; $directusGroupsTableGateway = new DirectusGroupsTableGateway($acl, $ZendDb); $group = $directusGroupsTableGateway->find($groupId); // if (1 == $group['restrict_to_ip_whitelist']) {