Files
shipping-portal/app/Classes/Modules/Unity/Services/GetAccessToken.php
T
2021-07-22 16:53:52 +08:00

38 lines
985 B
PHP

<?php
namespace App\Classes\Modules\Unity\Services;
use Config;
use Illuminate\Support\Facades\Http;
class GetAccessToken
{
private $unityConfig;
public function __construct()
{
$this->unityConfig = Config::get('unity');
}
public function execute(){
//TODO: Cache access token base on expiry for login version
$accesToken='';
if($this->unityConfig['default_auth']=='login'){
$loginDetails = $this->unityConfig['auth']['login'];
$response = Http::post($this->unityConfig['url'].$this->unityConfig['endpoint']['login'], [
'email' => $loginDetails['username'],
'password' => $loginDetails['password'],
])->object();
$accesToken = $response->access_token;
}else{
$accesToken = $this->unityConfig['auth']['api_key']['key'];
}
//TODO: Throw error if access token not available
return $accesToken;
}
}