Co-authored-by: renee-png <262607627+renee-png@users.noreply.github.com>
39 lines
964 B
TypeScript
39 lines
964 B
TypeScript
// This file is auto-generated by Lovable. Do not modify it.
|
|
|
|
import { createLovableAuth } from "@lovable.dev/cloud-auth-js";
|
|
import { supabase } from "../supabase/client";
|
|
const lovableAuth = createLovableAuth();
|
|
|
|
type SignInOptions = {
|
|
redirect_uri?: string;
|
|
extraParams?: Record<string, string>;
|
|
};
|
|
|
|
export const lovable = {
|
|
auth: {
|
|
signInWithOAuth: async (provider: "google" | "apple" | "microsoft" | "lovable", opts?: SignInOptions) => {
|
|
const result = await lovableAuth.signInWithOAuth(provider, {
|
|
redirect_uri: opts?.redirect_uri,
|
|
extraParams: {
|
|
...opts?.extraParams,
|
|
},
|
|
});
|
|
|
|
if (result.redirected) {
|
|
return result;
|
|
}
|
|
|
|
if (result.error) {
|
|
return result;
|
|
}
|
|
|
|
try {
|
|
await supabase.auth.setSession(result.tokens);
|
|
} catch (e) {
|
|
return { error: e instanceof Error ? e : new Error(String(e)) };
|
|
}
|
|
return result;
|
|
},
|
|
},
|
|
};
|