Auth: Add page to change password.

Configure launcher as a default return to address.

Use standard X-Forwarded-User instead of custom X-User header.
Add X-Forwarded-UserId header holding user unique identificator.

Change-Id: Ib2e6329ba9fb91d2cc9a86b0c5fc78898769e3b8
diff --git a/core/installer/cmd/launcher.go b/core/installer/cmd/launcher.go
index 85e811f..71decb6 100644
--- a/core/installer/cmd/launcher.go
+++ b/core/installer/cmd/launcher.go
@@ -3,6 +3,7 @@
 import (
 	"fmt"
 	"log"
+	"net/url"
 	"os"
 
 	"github.com/giolekva/pcloud/core/installer"
@@ -14,6 +15,7 @@
 )
 
 var launcherFlags struct {
+	// TODO(gio): rename to auth-base-addr
 	logoutURL string
 	port      int
 	repoAddr  string
@@ -78,9 +80,13 @@
 	if err != nil {
 		return err
 	}
+	authBaseAddr, err := url.Parse(launcherFlags.logoutURL)
+	if err != nil {
+		return err
+	}
 	s, err := welcome.NewLauncherServer(
 		launcherFlags.port,
-		launcherFlags.logoutURL,
+		fmt.Sprintf("https://%s", authBaseAddr.Host),
 		&welcome.AppManagerDirectory{AppManager: appManager},
 	)
 	if err != nil {
diff --git a/core/installer/cmd/welcome.go b/core/installer/cmd/welcome.go
index 30ed48f..d754ad3 100644
--- a/core/installer/cmd/welcome.go
+++ b/core/installer/cmd/welcome.go
@@ -88,7 +88,7 @@
 	if err != nil {
 		return err
 	}
-	s := welcome.NewServer(
+	s, err := welcome.NewServer(
 		welcomeFlags.port,
 		repoIO,
 		nsCreator,
@@ -97,6 +97,9 @@
 		welcomeFlags.loginAddr,
 		welcomeFlags.membershipsAddr,
 	)
+	if err != nil {
+		return err
+	}
 	s.Start()
 	return nil
 }