|
|
@ -1,4 +1,5 @@ |
|
|
|
// Copyright 2014 The Gogs Authors. All rights reserved.
|
|
|
|
// Copyright 2018 The Gitea Authors. All rights reserved.
|
|
|
|
// Use of this source code is governed by a MIT-style
|
|
|
|
// license that can be found in the LICENSE file.
|
|
|
|
|
|
|
@ -6,6 +7,9 @@ package auth |
|
|
|
|
|
|
|
import ( |
|
|
|
"mime/multipart" |
|
|
|
"strings" |
|
|
|
|
|
|
|
"code.gitea.io/gitea/modules/setting" |
|
|
|
|
|
|
|
"github.com/go-macaron/binding" |
|
|
|
"gopkg.in/macaron.v1" |
|
|
@ -84,6 +88,31 @@ func (f *RegisterForm) Validate(ctx *macaron.Context, errs binding.Errors) bindi |
|
|
|
return validate(errs, ctx.Data, f, ctx.Locale) |
|
|
|
} |
|
|
|
|
|
|
|
// IsEmailDomainWhitelisted validates that the email address
|
|
|
|
// provided by the user matches what has been configured .
|
|
|
|
// If the domain whitelist from the config is empty, it marks the
|
|
|
|
// email as whitelisted
|
|
|
|
func (f RegisterForm) IsEmailDomainWhitelisted() bool { |
|
|
|
if len(setting.Service.EmailDomainWhitelist) == 0 { |
|
|
|
return true |
|
|
|
} |
|
|
|
|
|
|
|
n := strings.LastIndex(f.Email, "@") |
|
|
|
if n <= 0 { |
|
|
|
return false |
|
|
|
} |
|
|
|
|
|
|
|
domain := strings.ToLower(f.Email[n+1:]) |
|
|
|
|
|
|
|
for _, v := range setting.Service.EmailDomainWhitelist { |
|
|
|
if strings.ToLower(v) == domain { |
|
|
|
return true |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
return false |
|
|
|
} |
|
|
|
|
|
|
|
// MustChangePasswordForm form for updating your password after account creation
|
|
|
|
// by an admin
|
|
|
|
type MustChangePasswordForm struct { |
|
|
|