fix: interceptar magic link na home e redirecionar para AuthCallback
This commit is contained in:
parent
f22bca225c
commit
fb1e104b7b
@ -21,6 +21,16 @@ const Home: React.FC = () => {
|
||||
const [searchParams] = useSearchParams();
|
||||
const { user } = useAuth();
|
||||
|
||||
// Verificar se há parâmetros de magic link e redirecionar para AuthCallback
|
||||
useEffect(() => {
|
||||
const hash = window.location.hash;
|
||||
if (hash && (hash.includes('access_token') || hash.includes('type=magiclink'))) {
|
||||
console.log("[Home] Detectado magic link, redirecionando para /auth/callback");
|
||||
navigate(`/auth/callback${hash}`, { replace: true });
|
||||
return;
|
||||
}
|
||||
}, [navigate]);
|
||||
|
||||
// Limpar cache se houver parâmetro ?clear=true
|
||||
useEffect(() => {
|
||||
if (searchParams.get("clear") === "true") {
|
||||
|
||||
@ -205,10 +205,7 @@ const LoginMedico: React.FC = () => {
|
||||
// Salvar contexto para redirecionamento correto após magic link
|
||||
localStorage.setItem("magic_link_redirect", "/painel-medico");
|
||||
|
||||
await authService.sendMagicLink(
|
||||
formData.email,
|
||||
`${window.location.origin}/auth/callback`
|
||||
);
|
||||
await authService.sendMagicLink(formData.email);
|
||||
toast.success(
|
||||
"Link de acesso enviado para seu email! Verifique sua caixa de entrada.",
|
||||
{ duration: 6000 }
|
||||
|
||||
@ -315,10 +315,7 @@ const LoginPaciente: React.FC = () => {
|
||||
// Salvar contexto para redirecionamento correto após magic link
|
||||
localStorage.setItem("magic_link_redirect", "/acompanhamento");
|
||||
|
||||
await authService.sendMagicLink(
|
||||
formData.email,
|
||||
`${window.location.origin}/auth/callback`
|
||||
);
|
||||
await authService.sendMagicLink(formData.email);
|
||||
toast.success(
|
||||
"Link de acesso enviado para seu email! Verifique sua caixa de entrada.",
|
||||
{ duration: 6000 }
|
||||
|
||||
@ -215,10 +215,7 @@ const LoginSecretaria: React.FC = () => {
|
||||
// Salvar contexto para redirecionamento correto após magic link
|
||||
localStorage.setItem("magic_link_redirect", "/painel-secretaria");
|
||||
|
||||
await authService.sendMagicLink(
|
||||
formData.email,
|
||||
`${window.location.origin}/auth/callback`
|
||||
);
|
||||
await authService.sendMagicLink(formData.email);
|
||||
toast.success(
|
||||
"Link de acesso enviado para seu email! Verifique sua caixa de entrada.",
|
||||
{ duration: 6000 }
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user