chore: check if primary mail is active before login
This commit is contained in:
parent
12d8c145af
commit
4a896c0102
2 changed files with 18 additions and 0 deletions
pkg/miniauth
|
@ -85,6 +85,16 @@ func (m Miniauth) UserLogin(username, password string) error {
|
|||
return utils.WrapError(ErrLoginFailed, err, log)
|
||||
}
|
||||
|
||||
if !m.config.LoginWithNotApprovedMail {
|
||||
mail, err := m.store.MailGetPrimaryForUsername(username)
|
||||
if err != nil {
|
||||
return utils.WrapError(ErrLoginFailed, err, log)
|
||||
}
|
||||
|
||||
if !mail.IsValidated {
|
||||
return utils.WrapError(ErrLoginFailed, errors.New("mail is not validated"), log)
|
||||
}
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
|
|
|
@ -200,6 +200,14 @@ func TestLogin(t *testing.T) {
|
|||
name: "login-successfull",
|
||||
username: "kekskurser",
|
||||
password: "oDzry!!!YPEtHuofKE9hnea8TLTe2Doabi6ddy",
|
||||
config: MiniauthConfig{LoginWithNotApprovedMail: true},
|
||||
},
|
||||
{
|
||||
name: "login-failed-mail-not-approved",
|
||||
username: "kekskurser",
|
||||
password: "oDzry!!!YPEtHuofKE9hnea8TLTe2Doabi6ddy",
|
||||
ExpectErr: ErrLoginFailed,
|
||||
EcpectErrString: "cant login: mail is not validated",
|
||||
},
|
||||
{
|
||||
name: "login-failed-user-not-found",
|
||||
|
|
Loading…
Add table
Reference in a new issue