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)
|
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
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -200,6 +200,14 @@ func TestLogin(t *testing.T) {
|
||||||
name: "login-successfull",
|
name: "login-successfull",
|
||||||
username: "kekskurser",
|
username: "kekskurser",
|
||||||
password: "oDzry!!!YPEtHuofKE9hnea8TLTe2Doabi6ddy",
|
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",
|
name: "login-failed-user-not-found",
|
||||||
|
|
Loading…
Add table
Reference in a new issue