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>
pull/10353/head
Will Norris 7 months ago committed by Will Norris
parent 9441a4e15d
commit 9c4b73d77d

@ -129,9 +129,14 @@ function LoginPopoverContent({
newSession()
} else {
// Must be connected over Tailscale to log in.
// If not already connected, reroute to the Tailscale IP
// before sending user through check mode.
window.location.href = `http://${node.IP}:5252/?check=now`
// Send user to Tailscale IP and start check mode
const manageURL = `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])

Loading…
Cancel
Save