CaronaĆŖ - PHP SDK
, (*1)
SDK utilizado para integrar com as instituiƧƵes,
permitindo o cadastro e login dos usuÔrios no Caronaê., (*2)
Instalação
Utilize o Composer para instalar o SDK:, (*3)
composer require caronae/caronae-sdk-php
Exemplo de uso
<?php
require_once __DIR__ . '/../vendor/autoload.php';
use Caronae\CaronaeService;
$caronae = new CaronaeService();
// Credenciais da instituição fornecidas pela equipe do Caronaê
$caronae->setInstitution('INSTITUTION_ID', 'INSTITUTION_PASSWORD');
// Aqui criamos um usuÔrio de exemplo, mas numa aplicação real o usuÔrio
// seria obtido através do banco de dados/API da sua instituição.
// Uma vez que sua instituição autorizou o usuÔrio, envie-o no formato
// abaixo para o CaronaĆŖ:
$user = [
'name' => 'Ada Lovelace',
'course' => 'Ciência da Computação',
'id_ufrj' => '12345678',
'profile' => 'Graduação',
'profile_pic_url' => 'http://exemplo.com/foto.jpg'
];
try {
// O mƩtodo authorize deve ser chamado somente quando o usuƔrio for
// considerado autorizado a usar o Caronaê. O usuÔrio serÔ logado
// ou, caso seja seu primeiro acesso, serĆ” cadastrado e logado.
$caronae->authorize($user);
} catch (\Exception $e) {
echo "Ocorreu um erro durante a autenticação. " . $e->getMessage();
// Caso ocorra algum erro, redirecione de volta para o CaronaĆŖ com a mensagem
// de erro que serƔ mostrada para o usuƔrio.
$redirectURL = $caronae->redirectUrlForError($e->getMessage());
header('Location: ' . $redirectURL);
die();
}
// Agora que o usuÔrio jÔ foi autenticado no Caronaê, redirecione de volta
// para o aplicativo. O próprio SDK jÔ retorna a URL de redirecionamento:
$redirectURL = $caronae->redirectUrlForSuccess();
header('Location: ' . $redirectURL);
Desenvolvimento
O SDK permite que o endereço da API do Caronaê seja alterado, caso deseje
apontar para um ambiente de testes ou local., (*4)
Para utilizar o ambiente de testes do CaronaĆŖ ou outro ambiente, basta
inicializar o CaronaeService passando a URL base desejada. Exemplo:, (*5)
$caronae = new CaronaeService('https://api.dev.caronae.org');