From a7efc22045ad251d32e23a599ba801c0b7730e51 Mon Sep 17 00:00:00 2001
From: Juan Font Alonso <juanfontalonso@gmail.com>
Date: Sat, 13 Aug 2022 21:17:05 +0200
Subject: [PATCH 1/2] Fix expired node registration URL

---
 api.go | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/api.go b/api.go
index 561545b..c6a1eca 100644
--- a/api.go
+++ b/api.go
@@ -605,8 +605,8 @@ func (h *Headscale) handleMachineExpired(
 		resp.AuthURL = fmt.Sprintf("%s/oidc/register/%s",
 			strings.TrimSuffix(h.cfg.ServerURL, "/"), machineKey.String())
 	} else {
-		resp.AuthURL = fmt.Sprintf("%s/register?key=%s",
-			strings.TrimSuffix(h.cfg.ServerURL, "/"), machineKey.String())
+		resp.AuthURL = fmt.Sprintf("%s/register/%s",
+			strings.TrimSuffix(h.cfg.ServerURL, "/"), NodePublicKeyStripPrefix(registerRequest.NodeKey))
 	}
 
 	respBody, err := encode(resp, &machineKey, h.privateKey)

From 8c13f64d3c47abdedc890b130877f7962b662bfb Mon Sep 17 00:00:00 2001
From: Juan Font Alonso <juanfontalonso@gmail.com>
Date: Sat, 13 Aug 2022 21:55:44 +0200
Subject: [PATCH 2/2] Changed missing path

---
 api.go | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/api.go b/api.go
index c6a1eca..7e76b3e 100644
--- a/api.go
+++ b/api.go
@@ -603,7 +603,7 @@ func (h *Headscale) handleMachineExpired(
 
 	if h.cfg.OIDC.Issuer != "" {
 		resp.AuthURL = fmt.Sprintf("%s/oidc/register/%s",
-			strings.TrimSuffix(h.cfg.ServerURL, "/"), machineKey.String())
+			strings.TrimSuffix(h.cfg.ServerURL, "/"), NodePublicKeyStripPrefix(registerRequest.NodeKey))
 	} else {
 		resp.AuthURL = fmt.Sprintf("%s/register/%s",
 			strings.TrimSuffix(h.cfg.ServerURL, "/"), NodePublicKeyStripPrefix(registerRequest.NodeKey))