client/web: handle login client inside an iframe
If the login client is inside an iframe, open the management client in a new window, since it can't be loaded in the frame. Updates #10261 Signed-off-by: Will Norris <will@tailscale.com>
This commit is contained in:
parent
9441a4e15d
commit
9c4b73d77d
|
@ -129,9 +129,14 @@ function LoginPopoverContent({
|
||||||
newSession()
|
newSession()
|
||||||
} else {
|
} else {
|
||||||
// Must be connected over Tailscale to log in.
|
// Must be connected over Tailscale to log in.
|
||||||
// If not already connected, reroute to the Tailscale IP
|
// Send user to Tailscale IP and start check mode
|
||||||
// before sending user through check mode.
|
const manageURL = `http://${node.IP}:5252/?check=now`
|
||||||
window.location.href = `http://${node.IP}:5252/?check=now`
|
if (window.self !== window.top) {
|
||||||
|
// if we're inside an iframe, open management client in new window
|
||||||
|
window.open(manageURL, "_blank")
|
||||||
|
} else {
|
||||||
|
window.location.href = manageURL
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}, [node.IP, auth.viewerIdentity, newSession])
|
}, [node.IP, auth.viewerIdentity, newSession])
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue