api4/user: convey redirect link through email verification (#15052)
Этот коммит содержится в:
коммит произвёл
GitHub
родитель
918fc1d45c
Коммит
263e5e8945
10
api4/user.go
10
api4/user.go
@@ -98,6 +98,7 @@ func createUser(c *Context, w http.ResponseWriter, r *http.Request) {
|
||||
|
||||
tokenId := r.URL.Query().Get("t")
|
||||
inviteId := r.URL.Query().Get("iid")
|
||||
redirect := r.URL.Query().Get("r")
|
||||
|
||||
auditRec := c.MakeAuditRecord("createUser", audit.Fail)
|
||||
defer c.LogAuditRec(auditRec)
|
||||
@@ -135,12 +136,12 @@ func createUser(c *Context, w http.ResponseWriter, r *http.Request) {
|
||||
}
|
||||
ruser, err = c.App.CreateUserWithToken(user, token)
|
||||
} else if len(inviteId) > 0 {
|
||||
ruser, err = c.App.CreateUserWithInviteId(user, inviteId)
|
||||
ruser, err = c.App.CreateUserWithInviteId(user, inviteId, redirect)
|
||||
} else if c.IsSystemAdmin() {
|
||||
ruser, err = c.App.CreateUserAsAdmin(user)
|
||||
ruser, err = c.App.CreateUserAsAdmin(user, redirect)
|
||||
auditRec.AddMeta("admin", true)
|
||||
} else {
|
||||
ruser, err = c.App.CreateUserFromSignup(user)
|
||||
ruser, err = c.App.CreateUserFromSignup(user, redirect)
|
||||
}
|
||||
|
||||
if err != nil {
|
||||
@@ -1952,6 +1953,7 @@ func sendVerificationEmail(c *Context, w http.ResponseWriter, r *http.Request) {
|
||||
c.SetInvalidParam("email")
|
||||
return
|
||||
}
|
||||
redirect := r.URL.Query().Get("r")
|
||||
|
||||
auditRec := c.MakeAuditRecord("sendVerificationEmail", audit.Fail)
|
||||
defer c.LogAuditRec(auditRec)
|
||||
@@ -1965,7 +1967,7 @@ func sendVerificationEmail(c *Context, w http.ResponseWriter, r *http.Request) {
|
||||
}
|
||||
auditRec.AddMeta("user", user)
|
||||
|
||||
if err = c.App.SendEmailVerification(user, user.Email); err != nil {
|
||||
if err = c.App.SendEmailVerification(user, user.Email, redirect); err != nil {
|
||||
// Don't want to leak whether the email is valid or not
|
||||
mlog.Error(err.Error())
|
||||
ReturnStatusOK(w)
|
||||
|
||||
Ссылка в новой задаче
Block a user