Compare commits
3 Commits
Author | SHA1 | Date |
---|---|---|
Maxime | 1201ef254e | |
Maxime | abce313193 | |
Maxime | 9d17dacae2 |
25
README.md
25
README.md
|
@ -4,21 +4,16 @@ Ce package permet d'utiliser [Bluesquare Connect](https://connect.bluesquare.io)
|
||||||
|
|
||||||
## Installation
|
## Installation
|
||||||
|
|
||||||
Mettre à jour `composer.json` avec :
|
Mettre à jour les sources de `composer.json` avec :
|
||||||
|
|
||||||
```
|
```
|
||||||
"repositories": [
|
composer config repositories.connect vcs https://git.bluesquare.io/bluesquare/laravel-connect.git -n
|
||||||
{
|
|
||||||
"type": "vcs",
|
|
||||||
"url": "https://git.bluesquare.io/bluesquare/laravel-connect"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
```
|
```
|
||||||
|
|
||||||
Puis installer le package :
|
Puis installer le package :
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
composer require bluesquare/laravel-connect "2.1"
|
composer require bluesquare/laravel-connect "2.3"
|
||||||
```
|
```
|
||||||
|
|
||||||
Mettre à jour le `.env` avec les identifiants du client OAuth généré sur [Bluesquare Connect](https://connect.bluesquare.io) :
|
Mettre à jour le `.env` avec les identifiants du client OAuth généré sur [Bluesquare Connect](https://connect.bluesquare.io) :
|
||||||
|
@ -111,6 +106,20 @@ protected $connectFillable = [
|
||||||
];
|
];
|
||||||
```
|
```
|
||||||
|
|
||||||
|
Un hook est disponible pour un post-traitement des données Connect (après création / mise à jour de l'utilisateur) ce qui peut être utile pour mettre à jour des relations :
|
||||||
|
|
||||||
|
```php
|
||||||
|
use HasConnectData;
|
||||||
|
|
||||||
|
public function postFillConnectData(array $data)
|
||||||
|
{
|
||||||
|
// Exemple
|
||||||
|
$this->roles()->sync(
|
||||||
|
Role::whereIn('name', $data['groups'])->pluck('id')
|
||||||
|
);
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
## Synchronisation des données _(optionnel)_
|
## Synchronisation des données _(optionnel)_
|
||||||
|
|
||||||
Par défaut, les données des utilisateurs sont mises à jour à chaque nouvelle connexion.
|
Par défaut, les données des utilisateurs sont mises à jour à chaque nouvelle connexion.
|
||||||
|
|
|
@ -4,6 +4,7 @@ namespace Bluesquare\Connect\Commands;
|
||||||
|
|
||||||
use Bluesquare\Connect\Connect;
|
use Bluesquare\Connect\Connect;
|
||||||
use Bluesquare\Connect\ConnectException;
|
use Bluesquare\Connect\ConnectException;
|
||||||
|
use Bluesquare\Connect\Traits\HasConnectData;
|
||||||
use Bluesquare\Connect\Traits\HasConnectTokens;
|
use Bluesquare\Connect\Traits\HasConnectTokens;
|
||||||
use Illuminate\Console\Command;
|
use Illuminate\Console\Command;
|
||||||
|
|
||||||
|
@ -32,6 +33,10 @@ class Sync extends Command
|
||||||
$data = $connect->getUserData($model->connect_access_token);
|
$data = $connect->getUserData($model->connect_access_token);
|
||||||
$connect->updateUserData($model, $data);
|
$connect->updateUserData($model, $data);
|
||||||
$model->save();
|
$model->save();
|
||||||
|
|
||||||
|
if (in_array(HasConnectData::class, class_uses($model))) {
|
||||||
|
$model->postFillConnectData($data);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
catch (\Exception $exception) {
|
catch (\Exception $exception) {
|
||||||
|
|
|
@ -6,6 +6,7 @@ use Bluesquare\Connect\Traits\HasConnectData;
|
||||||
use Bluesquare\Connect\Traits\HasConnectTokens;
|
use Bluesquare\Connect\Traits\HasConnectTokens;
|
||||||
use Bluesquare\Connect\Traits\HasConnectWebhook;
|
use Bluesquare\Connect\Traits\HasConnectWebhook;
|
||||||
use GuzzleHttp\Client;
|
use GuzzleHttp\Client;
|
||||||
|
use Illuminate\Contracts\Foundation\Application;
|
||||||
use Illuminate\Http\Request;
|
use Illuminate\Http\Request;
|
||||||
use Illuminate\Routing\Router;
|
use Illuminate\Routing\Router;
|
||||||
use Illuminate\Support\Facades\Log;
|
use Illuminate\Support\Facades\Log;
|
||||||
|
@ -17,7 +18,7 @@ class Connect
|
||||||
{
|
{
|
||||||
protected $app;
|
protected $app;
|
||||||
|
|
||||||
public function __construct($app)
|
public function __construct(Application $app)
|
||||||
{
|
{
|
||||||
$this->app = $app;
|
$this->app = $app;
|
||||||
}
|
}
|
||||||
|
@ -94,7 +95,7 @@ class Connect
|
||||||
|
|
||||||
$url = $this->getUrl() . '/oauth/authorize?' . $query;
|
$url = $this->getUrl() . '/oauth/authorize?' . $query;
|
||||||
|
|
||||||
return redirect()->to($url);
|
return redirect($url);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function checkState(Request $request)
|
public function checkState(Request $request)
|
||||||
|
@ -223,6 +224,10 @@ class Connect
|
||||||
} else {
|
} else {
|
||||||
$this->updateUserData($model, $data);
|
$this->updateUserData($model, $data);
|
||||||
$model->save();
|
$model->save();
|
||||||
|
|
||||||
|
if (in_array(HasConnectData::class, class_uses($model))) {
|
||||||
|
$model->postFillConnectData($data);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return $model;
|
return $model;
|
||||||
|
|
|
@ -44,4 +44,9 @@ trait HasConnectData
|
||||||
foreach ($touched as $model)
|
foreach ($touched as $model)
|
||||||
$model->save();
|
$model->save();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function postFillConnectData(array $data)
|
||||||
|
{
|
||||||
|
// Intended for post-processing / relationship handling
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -18,6 +18,10 @@ trait HasConnectWebhook
|
||||||
}
|
}
|
||||||
|
|
||||||
$this->save();
|
$this->save();
|
||||||
|
|
||||||
|
if (in_array(HasConnectData::class, class_uses(self::class))) {
|
||||||
|
$this->postFillConnectData($data);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public function onConnectDelete(array $data)
|
public function onConnectDelete(array $data)
|
||||||
|
|
Loading…
Reference in New Issue