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 [searchParams] = useSearchParams();
|
||||||
const { user } = useAuth();
|
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
|
// Limpar cache se houver parâmetro ?clear=true
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
if (searchParams.get("clear") === "true") {
|
if (searchParams.get("clear") === "true") {
|
||||||
|
|||||||
@ -205,10 +205,7 @@ const LoginMedico: React.FC = () => {
|
|||||||
// Salvar contexto para redirecionamento correto após magic link
|
// Salvar contexto para redirecionamento correto após magic link
|
||||||
localStorage.setItem("magic_link_redirect", "/painel-medico");
|
localStorage.setItem("magic_link_redirect", "/painel-medico");
|
||||||
|
|
||||||
await authService.sendMagicLink(
|
await authService.sendMagicLink(formData.email);
|
||||||
formData.email,
|
|
||||||
`${window.location.origin}/auth/callback`
|
|
||||||
);
|
|
||||||
toast.success(
|
toast.success(
|
||||||
"Link de acesso enviado para seu email! Verifique sua caixa de entrada.",
|
"Link de acesso enviado para seu email! Verifique sua caixa de entrada.",
|
||||||
{ duration: 6000 }
|
{ duration: 6000 }
|
||||||
|
|||||||
@ -315,10 +315,7 @@ const LoginPaciente: React.FC = () => {
|
|||||||
// Salvar contexto para redirecionamento correto após magic link
|
// Salvar contexto para redirecionamento correto após magic link
|
||||||
localStorage.setItem("magic_link_redirect", "/acompanhamento");
|
localStorage.setItem("magic_link_redirect", "/acompanhamento");
|
||||||
|
|
||||||
await authService.sendMagicLink(
|
await authService.sendMagicLink(formData.email);
|
||||||
formData.email,
|
|
||||||
`${window.location.origin}/auth/callback`
|
|
||||||
);
|
|
||||||
toast.success(
|
toast.success(
|
||||||
"Link de acesso enviado para seu email! Verifique sua caixa de entrada.",
|
"Link de acesso enviado para seu email! Verifique sua caixa de entrada.",
|
||||||
{ duration: 6000 }
|
{ duration: 6000 }
|
||||||
|
|||||||
@ -215,10 +215,7 @@ const LoginSecretaria: React.FC = () => {
|
|||||||
// Salvar contexto para redirecionamento correto após magic link
|
// Salvar contexto para redirecionamento correto após magic link
|
||||||
localStorage.setItem("magic_link_redirect", "/painel-secretaria");
|
localStorage.setItem("magic_link_redirect", "/painel-secretaria");
|
||||||
|
|
||||||
await authService.sendMagicLink(
|
await authService.sendMagicLink(formData.email);
|
||||||
formData.email,
|
|
||||||
`${window.location.origin}/auth/callback`
|
|
||||||
);
|
|
||||||
toast.success(
|
toast.success(
|
||||||
"Link de acesso enviado para seu email! Verifique sua caixa de entrada.",
|
"Link de acesso enviado para seu email! Verifique sua caixa de entrada.",
|
||||||
{ duration: 6000 }
|
{ duration: 6000 }
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user