supabase
supabase copied to clipboard
No session created when working with 0Auth Clients
Version
@nuxtjs/supabase:v1.0.2 nuxt: v3.4.3
Reproduction Link
No link as I have downgraded the Supabase module down to 0.3.0 as per the tutorial I am following.
Steps to reproduce
- Create a project
- Add Google or Github OAuth authentication
- On the login.vue page try firing the function below
const supabase = useSupabaseClient();
const login = async () => {
const { error } = await supabase.auth.signInWithOAuth({
provider: "google",
});
if (error) {
console.error(error);
}
};
What is Expected?
The user is directed to the third party OAuth, performs authentication and then redirected to the application where a session is created.
What is actually happening?
We are successfully redirected to google/github to confirm auth, however when we get redirected back our app, no session is created.
The auth is tracked in supabase and the user is added but no google authentication has been tracked in google. (As if the request was never sent)
Same
So after troubleshooting for a few minutes, I found that the issue seems to be related to the missing redirectTo option in the parameters:
options: {
redirectTo: 'http://localhost:3000/confirm',
},
Adding this option fixed the issue. However, I am not sure why it was causing problems in the first place. It seems that the URL configuration was being completely ignored.
So after troubleshooting for a few minutes, I found that the issue seems to be related to the missing redirectTo option in the parameters:
options: { redirectTo: 'http://localhost:3000/confirm', },
Adding this option fixed the issue. However, I am not sure why it was causing problems in the first place. It seems that the URL configuration was being completely ignored.
Should this work without creating a /confirm page or it need to exists? I mean, could the /confirm page be the same as the login?
So after troubleshooting for a few minutes, I found that the issue seems to be related to the missing redirectTo option in the parameters:
options: { redirectTo: 'http://localhost:3000/confirm', },
Adding this option fixed the issue. However, I am not sure why it was causing problems in the first place. It seems that the URL configuration was being completely ignored.
Should this work without creating a /confirm page or it need to exists? I mean, could the /confirm page be the same as the login?
I think it can't, but I would give it a try. Im afraid that could bring you an unexpected behavior sooner or later.
I disabled ssr for the confirm page in nuxt.config.js and it works for me now.
routeRules: {
"/confirm": { ssr: false },
},