Compare commits
2 Commits
b4ef6626fb
...
9d639e1828
| Author | SHA1 | Date | |
|---|---|---|---|
| 9d639e1828 | |||
| 02228ba123 |
@@ -35,6 +35,23 @@ export default function SignupPage() {
|
|||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
async function checkInvite() {
|
async function checkInvite() {
|
||||||
const supabase = createClient();
|
const supabase = createClient();
|
||||||
|
|
||||||
|
// Le lien d'invitation Supabase redirige avec les tokens dans le
|
||||||
|
// FRAGMENT d'URL (#access_token=...&refresh_token=...), jamais reçu
|
||||||
|
// par un serveur (le navigateur ne l'envoie jamais en HTTP) et pas
|
||||||
|
// auto-détecté par ce client (@supabase/ssr est orienté sessions par
|
||||||
|
// cookies) : on l'établit donc explicitement à la main, une fois.
|
||||||
|
const hash = window.location.hash;
|
||||||
|
if (hash.includes("access_token")) {
|
||||||
|
const params = new URLSearchParams(hash.slice(1));
|
||||||
|
const access_token = params.get("access_token");
|
||||||
|
const refresh_token = params.get("refresh_token");
|
||||||
|
if (access_token && refresh_token) {
|
||||||
|
await supabase.auth.setSession({ access_token, refresh_token });
|
||||||
|
}
|
||||||
|
window.history.replaceState(null, "", window.location.pathname);
|
||||||
|
}
|
||||||
|
|
||||||
const {
|
const {
|
||||||
data: { user },
|
data: { user },
|
||||||
} = await supabase.auth.getUser();
|
} = await supabase.auth.getUser();
|
||||||
|
|||||||
Reference in New Issue
Block a user