From d70ff96d9d2b5ef7eea051ae26d01accdc1eba4c Mon Sep 17 00:00:00 2001 From: Jonathan Bourdon Date: Tue, 24 Sep 2024 01:38:46 -0400 Subject: [PATCH] LoginWithGoogle feature now working. --- src/stores/authStore.js | 8 ++++---- src/views/main/LoginForm.vue | 32 ++++++++++++++++++++++++-------- 2 files changed, 28 insertions(+), 12 deletions(-) diff --git a/src/stores/authStore.js b/src/stores/authStore.js index 681561d..0ad680a 100644 --- a/src/stores/authStore.js +++ b/src/stores/authStore.js @@ -63,12 +63,12 @@ export const useAuthStore = defineStore( } } - async function loginGoogle(accessToken) { + async function loginWithGoogle(accessToken) { try { const response = await clientApi.post( - 'api/google/sign-in', + 'api/users/login-with-google', { - accessToken: accessToken + token: accessToken }) updateTokens(response.data) } catch (error) { @@ -95,6 +95,6 @@ export const useAuthStore = defineStore( } } - return {accessToken, refreshToken, isAuthenticated, userId, login, loginGoogle, logout} + return {accessToken, refreshToken, isAuthenticated, userId, login, loginWithGoogle, logout} }) diff --git a/src/views/main/LoginForm.vue b/src/views/main/LoginForm.vue index 3434a8c..826aee2 100644 --- a/src/views/main/LoginForm.vue +++ b/src/views/main/LoginForm.vue @@ -16,11 +16,19 @@ Utilisateur
- - - Connecter -

Si vous n'avez pas de compte, cliquez ici pour en créer un.

-
Nom d'utilisateur ou mot de passe invalide.
+ + + Connecter + +

Si vous n'avez pas de compte, cliquez + ici pour en créer un.

+
Nom d'utilisateur ou mot de passe invalide. + +
@@ -40,7 +48,6 @@ const password = ref(""); const errorSnackBar = ref(false); const showEmailForm = ref(false); const showPassword = ref(false); -const googleCallback = ref(''); const props = defineProps({ onSuccess: { @@ -53,9 +60,18 @@ const props = defineProps({ } }); +async function googleCallback(token) { + const response = await authStore.loginWithGoogle(JSON.stringify(token)); + handleResponse(response) +} + async function login() { - const result = await authStore.login(email.value, password.value); - if (result === true) { + const response = await authStore.login(email.value, password.value); + handleResponse(response) +} + +function handleResponse(response) { + if (response === true) { props.onSuccess(); } else { if (props.onFailure) {