mirror of
https://github.com/tailscale/tailscale.git
synced 2025-04-21 14:11:56 +00:00
ipn/localapi: implement LoginInteractive via localapi
Updates: #4738 Signed-off-by: Joel Cressy <joel@jtcressy.net>
This commit is contained in:
parent
0f95eaa8bb
commit
c16271fb46
@ -109,6 +109,8 @@ func (h *Handler) ServeHTTP(w http.ResponseWriter, r *http.Request) {
|
|||||||
h.serveStatus(w, r)
|
h.serveStatus(w, r)
|
||||||
case "/localapi/v0/logout":
|
case "/localapi/v0/logout":
|
||||||
h.serveLogout(w, r)
|
h.serveLogout(w, r)
|
||||||
|
case "/localapi/v0/login-interactive":
|
||||||
|
h.serveLoginInteractive(w, r)
|
||||||
case "/localapi/v0/prefs":
|
case "/localapi/v0/prefs":
|
||||||
h.servePrefs(w, r)
|
h.servePrefs(w, r)
|
||||||
case "/localapi/v0/ping":
|
case "/localapi/v0/ping":
|
||||||
@ -343,6 +345,20 @@ func (h *Handler) serveStatus(w http.ResponseWriter, r *http.Request) {
|
|||||||
e.Encode(st)
|
e.Encode(st)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (h *Handler) serveLoginInteractive(w http.ResponseWriter, r *http.Request) {
|
||||||
|
if !h.PermitWrite {
|
||||||
|
http.Error(w, "login access denied", http.StatusForbidden)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
if r.Method != "POST" {
|
||||||
|
http.Error(w, "want POST", 400)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
h.b.StartLoginInteractive()
|
||||||
|
w.WriteHeader(http.StatusNoContent)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
func (h *Handler) serveLogout(w http.ResponseWriter, r *http.Request) {
|
func (h *Handler) serveLogout(w http.ResponseWriter, r *http.Request) {
|
||||||
if !h.PermitWrite {
|
if !h.PermitWrite {
|
||||||
http.Error(w, "logout access denied", http.StatusForbidden)
|
http.Error(w, "logout access denied", http.StatusForbidden)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user