From 9de2757c4405c8c0766a9a6bd34edd77096ffd37 Mon Sep 17 00:00:00 2001 From: Patrick Peng Sun Date: Sun, 9 Jul 2017 04:14:37 +1000 Subject: [PATCH] move redirec to crmpixel ,as they both emphasis on auth cookies. --- crmpixel.go | 30 ++++++++++++++++++++++++++++++ main.go | 29 ----------------------------- 2 files changed, 30 insertions(+), 29 deletions(-) diff --git a/crmpixel.go b/crmpixel.go index cfba8b9..4dbf16e 100644 --- a/crmpixel.go +++ b/crmpixel.go @@ -7,6 +7,7 @@ import ( "fmt" "math/rand" "net/http" + "net/url" "strconv" "strings" "time" @@ -140,3 +141,32 @@ func crmpixelLead(id string) (info crmdLead, err error) { } return } + +//for user's initial registration, especially for wechat users +//they visit a url that is specifically designed for them to +//auth and input their profile data. +//the url's query string will contains a token and a signature +//so that it's verified, by single get request, to allow people to +//enter their details into the CRM system. +// +//this handler, check's the query sting ,set an auth cookie to the client +//and serve angular app, through an URL "/profile/edit" +//or if the user has already been registered, +//redirect user to a URL "/pages/dashboard" +// +func setTrackingCookieAndRecirect(w http.ResponseWriter, r *http.Request) { + + cookie := crmpixelCookie(r) + http.SetCookie(w, &cookie) + + rq := r.URL.RawQuery + m, _ := url.ParseQuery(rq) + + url, ok := m["url"] + if ok { + http.Redirect(w, r, url[0], 307) //302 temp redirect + return + } + w.WriteHeader(http.StatusNotFound) + fmt.Fprintf(w, "Not Found URL") +} diff --git a/main.go b/main.go index 23b84a3..e421d76 100644 --- a/main.go +++ b/main.go @@ -176,32 +176,3 @@ func mpDomainAuthSecret(w http.ResponseWriter, r *http.Request) { fmt.Fprintf(w, "6JqVkftKr39GMakA") //由于需要什么ICP备案,这个功能不能使用 } - -//for user's initial registration, especially for wechat users -//they visit a url that is specifically designed for them to -//auth and input their profile data. -//the url's query string will contains a token and a signature -//so that it's verified, by single get request, to allow people to -//enter their details into the CRM system. -// -//this handler, check's the query sting ,set an auth cookie to the client -//and serve angular app, through an URL "/profile/edit" -//or if the user has already been registered, -//redirect user to a URL "/pages/dashboard" -// -func setTrackingCookieAndRecirect(w http.ResponseWriter, r *http.Request) { - - cookie := crmpixelCookie(r) - http.SetCookie(w, &cookie) - - rq := r.URL.RawQuery - m, _ := url.ParseQuery(rq) - - url, ok := m["url"] - if ok { - http.Redirect(w, r, url[0], 307) //302 temp redirect - return - } - w.WriteHeader(http.StatusNotFound) - fmt.Fprintf(w, "Not Found URL") -}