From ee77fd236ab717ed39cc4e79c55e9ca46e072d37 Mon Sep 17 00:00:00 2001 From: glovetleong Date: Wed, 29 Sep 2021 14:23:50 +0800 Subject: [PATCH] cross login --- .../Accounts/Processors/CrossAuthenticationProcessor.php | 7 ++----- .../Modules/Accounts/Services/CrossAuthenticatesUser.php | 7 +------ .../accounts/forms/CrossPlatformLoginFormComponent.vue | 5 +++-- 3 files changed, 6 insertions(+), 13 deletions(-) diff --git a/app/Classes/Modules/Accounts/Processors/CrossAuthenticationProcessor.php b/app/Classes/Modules/Accounts/Processors/CrossAuthenticationProcessor.php index 1f976a42..7d77aa05 100644 --- a/app/Classes/Modules/Accounts/Processors/CrossAuthenticationProcessor.php +++ b/app/Classes/Modules/Accounts/Processors/CrossAuthenticationProcessor.php @@ -59,12 +59,9 @@ class CrossAuthenticationProcessor $this->canCrossAuthenticateUser->passes($object); - $this->crossAuthenticatesUser->execute($object); - - $user = $this->fetchesUser->execute(['email' => $object->getEmail()]); + $cross = $this->crossAuthenticatesUser->execute($object); + dd($cross); return ['access_token' => $this->generatesAuthenticationToken->execute($user), 'redirect_url' => $this->authenticationRedirect->url($user)]; - } - } \ No newline at end of file diff --git a/app/Classes/Modules/Accounts/Services/CrossAuthenticatesUser.php b/app/Classes/Modules/Accounts/Services/CrossAuthenticatesUser.php index e80bef3d..93b2b200 100644 --- a/app/Classes/Modules/Accounts/Services/CrossAuthenticatesUser.php +++ b/app/Classes/Modules/Accounts/Services/CrossAuthenticatesUser.php @@ -23,15 +23,10 @@ class CrossAuthenticatesUser $token = $object->getAccessToken(); $tokenParts = explode(".", $token); - $tokenHeader = base64_decode($tokenParts[0]); $tokenPayload = base64_decode($tokenParts[1]); - $jwtHeader = json_decode($tokenHeader); $jwtPayload = json_decode($tokenPayload); - dd($jwtPayload); - $response = Http::withToken($object->getAccessToken())->post('https://dev.exchange.cief-malaysia.com/api/v1/account/authentication/user/show')->object(); - - dd($response, $object->getAccessToken()); + $response = Http::withToken($object->getAccessToken())->get(env('EXCHANGE_URL') . 'api/v1/company/' . $jwtPayload->user->company_id . '/show')->object(); } return $response; diff --git a/resources/assets/vue/components/accounts/forms/CrossPlatformLoginFormComponent.vue b/resources/assets/vue/components/accounts/forms/CrossPlatformLoginFormComponent.vue index 6eb111db..e9a38a4f 100644 --- a/resources/assets/vue/components/accounts/forms/CrossPlatformLoginFormComponent.vue +++ b/resources/assets/vue/components/accounts/forms/CrossPlatformLoginFormComponent.vue @@ -12,7 +12,7 @@
- +
@@ -35,12 +35,13 @@ access_token: this.email, platform: 1 }, + exchange_url: process.env.MIX_EXCHANGE_URL, loading: false } }, methods:{ iframeEvent(event) { - if(event.origin !== 'http://exchange-2.0.test') return; + if(event.origin !== this.exchange_url) return; if (event.data.data) { this.parameters.access_token = event.data.data.payload.access_token; this.submit(this.route('api.account.authentication.authenticate.cross.attempt'), 'post', this.section, false, false)