Merge pull request #21747 from mhd-sln/MM-48409_utm_campaign_redirect_to_configured_url
[MM-48409] url mapping to configured path for cws
Этот коммит содержится в:
17
api4/user.go
17
api4/user.go
@@ -1914,6 +1914,10 @@ func login(c *Context, w http.ResponseWriter, r *http.Request) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func loginCWS(c *Context, w http.ResponseWriter, r *http.Request) {
|
func loginCWS(c *Context, w http.ResponseWriter, r *http.Request) {
|
||||||
|
campaignToURL := map[string]string{
|
||||||
|
"focalboard": "/boards",
|
||||||
|
}
|
||||||
|
|
||||||
if !c.App.Channels().License().IsCloud() {
|
if !c.App.Channels().License().IsCloud() {
|
||||||
c.Err = model.NewAppError("loginCWS", "api.user.login_cws.license.error", nil, "", http.StatusUnauthorized)
|
c.Err = model.NewAppError("loginCWS", "api.user.login_cws.license.error", nil, "", http.StatusUnauthorized)
|
||||||
return
|
return
|
||||||
@@ -1921,6 +1925,7 @@ func loginCWS(c *Context, w http.ResponseWriter, r *http.Request) {
|
|||||||
r.ParseForm()
|
r.ParseForm()
|
||||||
var loginID string
|
var loginID string
|
||||||
var token string
|
var token string
|
||||||
|
var campaign string
|
||||||
if len(r.Form) > 0 {
|
if len(r.Form) > 0 {
|
||||||
for key, value := range r.Form {
|
for key, value := range r.Form {
|
||||||
if key == "login_id" {
|
if key == "login_id" {
|
||||||
@@ -1929,6 +1934,9 @@ func loginCWS(c *Context, w http.ResponseWriter, r *http.Request) {
|
|||||||
if key == "cws_token" {
|
if key == "cws_token" {
|
||||||
token = value[0]
|
token = value[0]
|
||||||
}
|
}
|
||||||
|
if key == "utm_campaign" {
|
||||||
|
campaign = value[0]
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1952,7 +1960,14 @@ func loginCWS(c *Context, w http.ResponseWriter, r *http.Request) {
|
|||||||
}
|
}
|
||||||
c.LogAuditWithUserId(user.Id, "success")
|
c.LogAuditWithUserId(user.Id, "success")
|
||||||
c.App.AttachSessionCookies(c.AppContext, w, r)
|
c.App.AttachSessionCookies(c.AppContext, w, r)
|
||||||
http.Redirect(w, r, *c.App.Config().ServiceSettings.SiteURL, http.StatusFound)
|
|
||||||
|
redirectURL := *c.App.Config().ServiceSettings.SiteURL
|
||||||
|
if campaign != "" {
|
||||||
|
if url, ok := campaignToURL[campaign]; ok {
|
||||||
|
redirectURL += url
|
||||||
|
}
|
||||||
|
}
|
||||||
|
http.Redirect(w, r, redirectURL, http.StatusFound)
|
||||||
}
|
}
|
||||||
|
|
||||||
func logout(c *Context, w http.ResponseWriter, r *http.Request) {
|
func logout(c *Context, w http.ResponseWriter, r *http.Request) {
|
||||||
|
|||||||
Ссылка в новой задаче
Block a user