Merge pull request #1509 from aztech-dev/3.8

Require admin right for user management via API
This commit is contained in:
Benoît Burnichon
2015-09-25 16:23:44 +02:00

View File

@@ -110,6 +110,12 @@ class V1 implements ControllerProviderInterface
} }
}; };
$requireUserManagementRight = function () use ($app) {
$app['firewall']
->requireAccessToModule('admin')
->requireRight('manageusers');
};
/** /**
* OAuth log process * OAuth log process
* *
@@ -1016,7 +1022,9 @@ class V1 implements ControllerProviderInterface
$result = $app['api']->reset_password($login); $result = $app['api']->reset_password($login);
return $result->get_response(); return $result->get_response();
})->before($requirePasswordGrant); })
->before($requirePasswordGrant)
->before($requireUserManagementRight);
/** /**
* Route : /accounts/update-password/{token}/ * Route : /accounts/update-password/{token}/
@@ -1030,20 +1038,26 @@ class V1 implements ControllerProviderInterface
$result = $app['api']->set_new_password($token, $request->request->get('password', null)); $result = $app['api']->set_new_password($token, $request->request->get('password', null));
return $result->get_response(); return $result->get_response();
})->before($requirePasswordGrant); })
->before($requirePasswordGrant)
->before($requireUserManagementRight);
$controllers->post('/accounts/access-demand/', function (Request $request) use ($app) { $controllers->post('/accounts/access-demand/', function (Request $request) use ($app) {
$data = json_decode($request->getContent(false), true); $data = json_decode($request->getContent(false), true);
$result = $app['api']->create_account($data); $result = $app['api']->create_account($data);
return $result->get_response(); return $result->get_response();
})->before($requirePasswordGrant); })
->before($requirePasswordGrant)
->before($requireUserManagementRight);
$controllers->post('/accounts/unlock/{token}/', function ($token) use ($app) { $controllers->post('/accounts/unlock/{token}/', function ($token) use ($app) {
$result = $app['api']->unlock_account($token); $result = $app['api']->unlock_account($token);
return $result->get_response(); return $result->get_response();
})->before($requirePasswordGrant); })
->before($requirePasswordGrant)
->before($requireUserManagementRight);
return $controllers; return $controllers;
} }