From aa06165864247d59b9e4fb8a112c4813975f092d Mon Sep 17 00:00:00 2001 From: Adorilson Bezerra Date: Thu, 28 Jul 2022 16:04:31 -0300 Subject: [PATCH] =?UTF-8?q?Atualiza=C3=A7=C3=A3o=20para=20novo=20formato?= =?UTF-8?q?=20da=20API=20SUAP?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 15 ++++++++++++--- src/Ivmelo/SUAP/SUAP.php | 6 +++--- tests/test.php | 4 ++-- 3 files changed, 17 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index 1904ecf..020a37e 100644 --- a/README.md +++ b/README.md @@ -51,11 +51,12 @@ $suap = SUAP(); $data = $suap->autenticar('20121014040000', 'senhaouchave'); ``` -O método retornará um array com um token de acesso (`$data['token']`). +O método retornará um array com um token de acesso (`$data['access']`) e outro de renovação (`$data['refresh']`). ``` Array ( - [token] => eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9eyJ1c2VybmFtZSI6IjIwMTIxMDE0MDQwMDgzIiwib3JpZ19pYXQiOjE0OTQwMjcyMDksInVzZXJfaWQiOjEwODQyLCJlbWFpbCI6Iml2YW5pbHNvbi5tZWxvQGFjYWRlbWljby5pZnJuLmVkdS5iciIsImV4cCI6MTQ5NDExMzYwOX0 + [refresh] => eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ0b2tlbl90eXBlIjoicmVmcmVzaCIsImV4cCI6MTY1OTExODcxNCwiaWF0IjoxNjU5MDMyMzE0LCJqdGkiOiI3MGNkOWFhZDVmZmU0ZWU4YjliZWQ1Yjk5ODE0MTNjZiIsInVzZXJfaWQiOjQzODR9._42_QxSkUKr_Xq6vWiq97jjicnA6Buaij9Sckc-9PWs + [access] => eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ0b2tlbl90eXBlIjoiYWNjZXNzIiwiZXhwIjoxNjU5MDMyNjE0LCJpYXQiOjE2NTkwMzIzMTQsImp0aSI6IjhjNWY5Mjk4MTk2ODQ4NmFhMDIzNzBmYmQxYWQ3ZTYyIiwidXNlcl9pZCI6NDM4NH0.wC9KkHj76aj1plYHbr0HRUSxqG7BUjXX_Bc-Sa-7yO8 ) ``` @@ -710,7 +711,15 @@ $ cd tests $ php test.php ``` -Altere o arquivo `test.php` de acordo com a sua preferência, mas evite comitar mudanças a menos que tenha adicionado alguma funcionalidade nova a biblioteca. +Utilize a chave *access* retornada acima para testar as demais requisições. +Elas funcionarão por completo apenas se a matrícula utilizada anteriormente +for de estudante: + +```bash +$ php test.php +``` + +Altere o arquivo `test.php` de acordo com a sua preferência, mas evite commits com mudanças a menos que tenha adicionado alguma funcionalidade nova a biblioteca. O código em desenvolvimento mais recente está na branch `master`. diff --git a/src/Ivmelo/SUAP/SUAP.php b/src/Ivmelo/SUAP/SUAP.php index 313d28c..9a5f773 100644 --- a/src/Ivmelo/SUAP/SUAP.php +++ b/src/Ivmelo/SUAP/SUAP.php @@ -91,8 +91,8 @@ public function autenticar($username, $password, $accessKey = false, $setToken = $data = json_decode($response->getBody(), true); // Seta o token se solicitado. Padrão é true. - if ($setToken && isset($data['token'])) { - $this->setToken($data['token']); + if ($setToken && isset($data['access'])) { + $this->setToken($data['access']); } } @@ -252,7 +252,7 @@ private function doGetRequest($url) { $response = $this->client->request('GET', $url, [ 'headers' => [ - 'Authorization' => 'JWT '.$this->token, + 'Authorization' => 'Bearer '.$this->token, ], ]); diff --git a/tests/test.php b/tests/test.php index fb61210..5d50b12 100644 --- a/tests/test.php +++ b/tests/test.php @@ -12,7 +12,7 @@ * Recebe argumentos do terminal. * * Para pegar um Token: - * $ php test.php + * $ php test.php * * Depois, você pode usar o token para fazer os requests: * $ php test.php @@ -55,7 +55,7 @@ print_r($client->getHorarios($year, $term)); } else { // Autentica e retorna token. - print_r($client->autenticar($student_id, $suap_key, true)); + print_r($client->autenticar($student_id, $suap_key, false, true)); } } catch (Exception $e) { // Mostrar erros.