Merge pull request #6034 from aternatik/api_rest_allow_post
FIX Minor fixes for REST API
This commit is contained in:
commit
1e647b082c
@ -45,11 +45,14 @@ class GenericApi extends DolibarrApi
|
|||||||
* @return array Response status and user token
|
* @return array Response status and user token
|
||||||
*
|
*
|
||||||
* @throws RestException
|
* @throws RestException
|
||||||
|
*
|
||||||
|
* @url POST /login
|
||||||
|
* @url GET /login
|
||||||
*/
|
*/
|
||||||
public function login($login, $password, $entity=0, $reset=0) {
|
public function login($login, $password, $entity=0, $reset=0) {
|
||||||
|
|
||||||
global $conf, $dolibarr_main_authentication, $dolibarr_auto_user;
|
global $conf, $dolibarr_main_authentication, $dolibarr_auto_user;
|
||||||
|
|
||||||
// Authentication mode
|
// Authentication mode
|
||||||
if (empty($dolibarr_main_authentication))
|
if (empty($dolibarr_main_authentication))
|
||||||
$dolibarr_main_authentication = 'http,dolibarr';
|
$dolibarr_main_authentication = 'http,dolibarr';
|
||||||
@ -67,21 +70,21 @@ class GenericApi extends DolibarrApi
|
|||||||
}
|
}
|
||||||
|
|
||||||
$token = 'failedtogenerateorgettoken';
|
$token = 'failedtogenerateorgettoken';
|
||||||
|
|
||||||
$tmpuser=new User($this->db);
|
$tmpuser=new User($this->db);
|
||||||
$tmpuser->fetch(0, $login);
|
$tmpuser->fetch(0, $login);
|
||||||
|
|
||||||
// Renew the hash
|
// Renew the hash
|
||||||
if (empty($tmpuser->api_key) || $reset)
|
if (empty($tmpuser->api_key) || $reset)
|
||||||
{
|
{
|
||||||
// Generate token for user
|
// Generate token for user
|
||||||
$token = dol_hash($login.uniqid().$conf->global->MAIN_API_KEY,1);
|
$token = dol_hash($login.uniqid().$conf->global->MAIN_API_KEY,1);
|
||||||
|
|
||||||
// We store API token into database
|
// We store API token into database
|
||||||
$sql = "UPDATE ".MAIN_DB_PREFIX."user";
|
$sql = "UPDATE ".MAIN_DB_PREFIX."user";
|
||||||
$sql.= " SET api_key = '".$this->db->escape($token)."'";
|
$sql.= " SET api_key = '".$this->db->escape($token)."'";
|
||||||
$sql.= " WHERE login = '".$this->db->escape($login)."'";
|
$sql.= " WHERE login = '".$this->db->escape($login)."'";
|
||||||
|
|
||||||
dol_syslog(get_class($this)."::login", LOG_DEBUG); // No log
|
dol_syslog(get_class($this)."::login", LOG_DEBUG); // No log
|
||||||
$result = $this->db->query($sql);
|
$result = $this->db->query($sql);
|
||||||
if (!$result)
|
if (!$result)
|
||||||
@ -93,7 +96,7 @@ class GenericApi extends DolibarrApi
|
|||||||
{
|
{
|
||||||
$token = $tmpuser->api_key;
|
$token = $tmpuser->api_key;
|
||||||
}
|
}
|
||||||
|
|
||||||
//return token
|
//return token
|
||||||
return array(
|
return array(
|
||||||
'success' => array(
|
'success' => array(
|
||||||
|
|||||||
@ -26,6 +26,7 @@
|
|||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
if (! defined("NOLOGIN")) define("NOLOGIN",'1');
|
if (! defined("NOLOGIN")) define("NOLOGIN",'1');
|
||||||
|
if (! defined("NOCSRFCHECK")) define("NOCSRFCHECK",'1');
|
||||||
|
|
||||||
$res=0;
|
$res=0;
|
||||||
if (! $res && file_exists("../main.inc.php")) $res=include '../main.inc.php';
|
if (! $res && file_exists("../main.inc.php")) $res=include '../main.inc.php';
|
||||||
@ -121,9 +122,9 @@ foreach ($modulesdir as $dir)
|
|||||||
$classname = str_replace('Api_','',ucwords($reg[1])).'Api';
|
$classname = str_replace('Api_','',ucwords($reg[1])).'Api';
|
||||||
$classname = ucfirst($classname);
|
$classname = ucfirst($classname);
|
||||||
require_once $dir_part.$file_searched;
|
require_once $dir_part.$file_searched;
|
||||||
if (class_exists($classname))
|
if (class_exists($classname))
|
||||||
{
|
{
|
||||||
dol_syslog("Found API classname=".$classname);
|
dol_syslog("Found API classname=".$classname);
|
||||||
$api->r->addAPIClass($classname,'');
|
$api->r->addAPIClass($classname,'');
|
||||||
$listofapis[]=array('classname'=>$classname, 'fullpath'=>$file_searched);
|
$listofapis[]=array('classname'=>$classname, 'fullpath'=>$file_searched);
|
||||||
}
|
}
|
||||||
@ -142,7 +143,3 @@ foreach ($modulesdir as $dir)
|
|||||||
|
|
||||||
// Call API (we suppose we found it)
|
// Call API (we suppose we found it)
|
||||||
$api->r->handle();
|
$api->r->handle();
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user