From 3fe69b5d5a1b43dfdb5f144c692be13ed672d0b3 Mon Sep 17 00:00:00 2001 From: "agallop@celestra.co.uk" Date: Fri, 8 Jul 2022 17:18:48 +0100 Subject: [PATCH] Fixed callback controller storage of tenants --- src/Controllers/AuthorizationCallbackController.php | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/src/Controllers/AuthorizationCallbackController.php b/src/Controllers/AuthorizationCallbackController.php index ef9cf06..cc2943a 100755 --- a/src/Controllers/AuthorizationCallbackController.php +++ b/src/Controllers/AuthorizationCallbackController.php @@ -26,9 +26,18 @@ public function __invoke(Request $request, OauthCredentialManager $oauth, Identi $accessToken = $provider->getAccessToken('authorization_code', $request->only('code')); $identity->getConfig()->setAccessToken((string)$accessToken->getToken()); - $tenantId = $identity->getConnections()[0]->getTenantId(); - $oauth->store($accessToken, $tenantId); + //Iterate tenants + $tenants = array(); + foreach($identity->getConnections() as $c) { + $tenants[] = [ + "Id" => $c->getTenantId(), + "Name"=> $c->getTenantName() + ]; + } + + //Store Token and Tenants + $oauth->store($accessToken, $tenants); Event::dispatch(new XeroAuthorized($oauth->getData())); return $this->onSuccess();