ClientSingleSignOnToken.php 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. <?php
  2. namespace ModulesGarden\Servers\ZimbraEmail\App\Libs\Zimbra\Components\Api\Soap\Services\Sso;
  3. use ModulesGarden\Servers\ZimbraEmail\App\Libs\Zimbra\Components\Api\Soap\Connection;
  4. use ModulesGarden\Servers\ZimbraEmail\App\Libs\Zimbra\Components\Api\Soap\Interfaces\ApiService;
  5. use ModulesGarden\Servers\ZimbraEmail\App\Libs\Zimbra\Components\Api\Soap\Models\Account;
  6. /**
  7. *
  8. * Created by PhpStorm.
  9. * User: Tomasz Bielecki ( tomasz.bi@modulesgarden.com )
  10. * Date: 12.11.19
  11. * Time: 17:24
  12. * Class ClientSingleSignOn
  13. */
  14. class ClientSingleSignOnToken extends ApiService
  15. {
  16. /**
  17. *
  18. * @return mixed|string
  19. * @throws \SoapFault
  20. */
  21. public function process()
  22. {
  23. $account = new Account();
  24. $account->setName($this->formData['mail']);
  25. $account->setId($this->formData['id']);
  26. $result = $this->api->account->delegateAuth($account);
  27. if(!$result)
  28. {
  29. $this->setError($this->api->account->getError());
  30. return false;
  31. }
  32. return [
  33. 'authToken' => $result->getResponseBody()['DELEGATEAUTHRESPONSE']['AUTHTOKEN']['DATA'],
  34. ' lifeTime' =>$result->getResponseBody()['DELEGATEAUTHRESPONSE']['LIFETIME']['DATA']
  35. ];
  36. }
  37. }