smt_vendor/CoreBundle/src/Service/SmtAuth.php line 29

Open in your IDE?
  1. <?php
  2. /**
  3.  * SmtCoreLogin short summary.
  4.  *
  5.  * SmtCoreLogin description.
  6.  *
  7.  * @version 1.0
  8.  * @author jairo.erazo
  9.  */
  10.  namespace Smt\CoreBundle\Service;
  11.  use Symfony\Component\HttpFoundation\Session\SessionInterface;
  12. class SmtAuth
  13. {
  14.   private $Lo_SmtApi;
  15.   public function __construct(SmtApi $Ao_SmtApi){
  16.     $this->Lo_SmtApi $Ao_SmtApi;
  17.   }
  18.   public function authentication($As_Username$As_Password, ?SessionInterface $session null)
  19.     {
  20.       $La_Return = array();
  21.       $La_Return['b_Success'] = false;
  22.       $La_Data = array();
  23.       $La_Data['Username'] = $As_Username;
  24.       $La_Data['Password'] = $As_Password;
  25.       $La_Data['s_InitialReferer'] = $session->get('initial_referer');
  26.       $Ls_Data json_encode($La_Data);
  27.       $Lo_ResultHeaders = array();
  28.       $Ls_Answer $this->Lo_SmtApi->callApi('POST''Authorization/login/'$Ls_Datatruefalse$Lo_ResultHeaders);
  29.       $Lo_Answer json_decode($Ls_Answer);
  30.       if ($Lo_Answer != false)
  31.       {
  32.         if ($Lo_Answer->Error === && ($Lo_Answer->Result->LoginState === 1))
  33.         {
  34.           $La_Return['b_Success'] = true;
  35.           $La_Return['i_SSP_PersonID'] = $Lo_Answer->Result->i_SSP_PersonID;
  36.           $La_Return['s_FirstName'] = $Lo_Answer->Result->FirstName;
  37.           $La_Return['s_LastName'] = $Lo_Answer->Result->LastName;
  38.           $La_Return['a_Roles'] = $Lo_Answer->Result->Groups//array();
  39.           $La_Return['LoginHeaders'] = $Lo_ResultHeaders;
  40.           $La_Return['a_ADRoles'] = [];
  41.           $La_Return['s_FAKNumber'] = $Lo_Answer->Result->FAKNumber;
  42.           $La_Return['s_Birthdate'] = $Lo_Answer->Result->Birthdate;
  43.           $La_Return['a_AddressRole'] = $Lo_Answer->Result->a_AddressRole;
  44.           $La_Return['o_Properties'] = $Lo_Answer->Result->o_Properties;
  45.           foreach ($Lo_Answer->Result->Groups as $Ls_Group)
  46.           {
  47.             $La_Return['a_ADRoles'][] = (int)$Ls_Group;
  48.           } // foreach
  49.         // if
  50.       // if
  51.       return($La_Return);
  52.     } // function authSmt
  53.   public function validateSession($As_SetCookie$Ai_AdressID)
  54.   {
  55.     $La_Return false;
  56.     $La_Data = array();
  57.     $La_Data = [
  58.       "Li_AdressID" => $Ai_AdressID
  59.     ];
  60.     $Lo_Header 'Cookie: ' $As_SetCookie;
  61.     $Ls_Answer $this->Lo_SmtApi->callApi('GET''Authorization/validatesession/'$La_Datatrue$Lo_Header);
  62.     $Lo_Answer json_decode($Ls_Answer);
  63.     if($Lo_Answer->Error == 0)
  64.     {
  65.       $La_Return true;
  66.     }
  67.     return($La_Return);
  68.   }
  69. }