Authentication: dedicated message for users without a validated email address.
This commit is contained in:
parent
eceeb8c264
commit
411de1be6c
2 changed files with 72 additions and 60 deletions
src/App
|
@ -545,6 +545,11 @@ handleAction = case _ of
|
||||||
handleAction $ Log $ ErrorLog "TODO: received a GotPermissionCheck message."
|
handleAction $ Log $ ErrorLog "TODO: received a GotPermissionCheck message."
|
||||||
(AuthD.GotPermissionSet _) -> do
|
(AuthD.GotPermissionSet _) -> do
|
||||||
handleAction $ Log $ ErrorLog "Received a GotPermissionSet message."
|
handleAction $ Log $ ErrorLog "Received a GotPermissionSet message."
|
||||||
|
(AuthD.GotErrorEmailAddressNotValidated _) -> do
|
||||||
|
handleAction $ Log $ ErrorLog """
|
||||||
|
Cannot authenticate: your email address hasn't been validated.
|
||||||
|
Please check your email inbox.
|
||||||
|
"""
|
||||||
m@(AuthD.GotPasswordRecovered _) -> do
|
m@(AuthD.GotPasswordRecovered _) -> do
|
||||||
handleAction $ Log $ SuccessLog "your new password is now valid."
|
handleAction $ Log $ SuccessLog "your new password is now valid."
|
||||||
handleAction $ DispatchAuthDaemonMessage m
|
handleAction $ DispatchAuthDaemonMessage m
|
||||||
|
|
|
@ -344,6 +344,11 @@ type ErrorPasswordTooLong = {}
|
||||||
codecGotErrorPasswordTooLong :: CA.JsonCodec ErrorPasswordTooLong
|
codecGotErrorPasswordTooLong :: CA.JsonCodec ErrorPasswordTooLong
|
||||||
codecGotErrorPasswordTooLong = CA.object "ErrorPasswordTooLong" (CAR.record {})
|
codecGotErrorPasswordTooLong = CA.object "ErrorPasswordTooLong" (CAR.record {})
|
||||||
|
|
||||||
|
{- 36 -}
|
||||||
|
type ErrorEmailAddressNotValidated = {}
|
||||||
|
codecGotErrorEmailAddressNotValidated :: CA.JsonCodec ErrorEmailAddressNotValidated
|
||||||
|
codecGotErrorEmailAddressNotValidated = CA.object "ErrorEmailAddressNotValidated" (CAR.record {})
|
||||||
|
|
||||||
{- 250 -}
|
{- 250 -}
|
||||||
-- type KeepAlive = { }
|
-- type KeepAlive = { }
|
||||||
codecGotKeepAlive ∷ CA.JsonCodec KeepAlive
|
codecGotKeepAlive ∷ CA.JsonCodec KeepAlive
|
||||||
|
@ -370,36 +375,37 @@ data RequestMessage
|
||||||
|
|
||||||
-- All possible answers from the authentication daemon (authd).
|
-- All possible answers from the authentication daemon (authd).
|
||||||
data AnswerMessage
|
data AnswerMessage
|
||||||
= GotError Error -- 0
|
= GotError Error -- 0
|
||||||
| GotToken Logged -- 1
|
| GotToken Logged -- 1
|
||||||
| GotUser User -- 2
|
| GotUser User -- 2
|
||||||
| GotUserAdded UserAdded -- 3
|
| GotUserAdded UserAdded -- 3
|
||||||
| GotUserEdited UserEdited -- 4
|
| GotUserEdited UserEdited -- 4
|
||||||
| GotUserValidated UserValidated -- 5
|
| GotUserValidated UserValidated -- 5
|
||||||
| GotUsersList UsersList -- 6
|
| GotUsersList UsersList -- 6
|
||||||
| GotPermissionCheck PermissionCheck -- 7
|
| GotPermissionCheck PermissionCheck -- 7
|
||||||
| GotPermissionSet PermissionSet -- 8
|
| GotPermissionSet PermissionSet -- 8
|
||||||
| GotPasswordRecoverySent PasswordRecoverySent -- 9
|
| GotPasswordRecoverySent PasswordRecoverySent -- 9
|
||||||
| GotPasswordRecovered PasswordRecovered -- 10
|
| GotPasswordRecovered PasswordRecovered -- 10
|
||||||
| GotMatchingUsers MatchingUsers -- 11
|
| GotMatchingUsers MatchingUsers -- 11
|
||||||
| GotUserDeleted UserDeleted -- 12
|
| GotUserDeleted UserDeleted -- 12
|
||||||
| GotErrorMustBeAuthenticated ErrorMustBeAuthenticated -- 20
|
| GotErrorMustBeAuthenticated ErrorMustBeAuthenticated -- 20
|
||||||
| GotErrorAlreadyUsedLogin ErrorAlreadyUsedLogin -- 21
|
| GotErrorAlreadyUsedLogin ErrorAlreadyUsedLogin -- 21
|
||||||
| GotErrorMailRequired ErrorMailRequired -- 22
|
| GotErrorMailRequired ErrorMailRequired -- 22
|
||||||
| GotErrorUserNotFound ErrorUserNotFound -- 23
|
| GotErrorUserNotFound ErrorUserNotFound -- 23
|
||||||
| GotErrorPasswordTooShort ErrorPasswordTooShort -- 24
|
| GotErrorPasswordTooShort ErrorPasswordTooShort -- 24
|
||||||
| GotErrorInvalidCredentials ErrorInvalidCredentials -- 25
|
| GotErrorInvalidCredentials ErrorInvalidCredentials -- 25
|
||||||
| GotErrorRegistrationsClosed ErrorRegistrationsClosed -- 26
|
| GotErrorRegistrationsClosed ErrorRegistrationsClosed -- 26
|
||||||
| GotErrorInvalidLoginFormat ErrorInvalidLoginFormat -- 27
|
| GotErrorInvalidLoginFormat ErrorInvalidLoginFormat -- 27
|
||||||
| GotErrorInvalidEmailFormat ErrorInvalidEmailFormat -- 28
|
| GotErrorInvalidEmailFormat ErrorInvalidEmailFormat -- 28
|
||||||
| GotErrorAlreadyUsersInDB ErrorAlreadyUsersInDB -- 29
|
| GotErrorAlreadyUsersInDB ErrorAlreadyUsersInDB -- 29
|
||||||
| GotErrorReadOnlyProfileKeys ErrorReadOnlyProfileKeys -- 30
|
| GotErrorReadOnlyProfileKeys ErrorReadOnlyProfileKeys -- 30
|
||||||
| GotErrorInvalidActivationKey ErrorInvalidActivationKey -- 31
|
| GotErrorInvalidActivationKey ErrorInvalidActivationKey -- 31
|
||||||
| GotErrorUserAlreadyValidated ErrorUserAlreadyValidated -- 32
|
| GotErrorUserAlreadyValidated ErrorUserAlreadyValidated -- 32
|
||||||
| GotErrorCannotContactUser ErrorCannotContactUser -- 33
|
| GotErrorCannotContactUser ErrorCannotContactUser -- 33
|
||||||
| GotErrorInvalidRenewKey ErrorInvalidRenewKey -- 34
|
| GotErrorInvalidRenewKey ErrorInvalidRenewKey -- 34
|
||||||
| GotErrorPasswordTooLong ErrorPasswordTooLong -- 35
|
| GotErrorPasswordTooLong ErrorPasswordTooLong -- 35
|
||||||
| GotKeepAlive KeepAlive -- 250
|
| GotErrorEmailAddressNotValidated ErrorEmailAddressNotValidated -- 36
|
||||||
|
| GotKeepAlive KeepAlive -- 250
|
||||||
|
|
||||||
encode ∷ RequestMessage -> Tuple UInt String
|
encode ∷ RequestMessage -> Tuple UInt String
|
||||||
encode m = case m of
|
encode m = case m of
|
||||||
|
@ -433,36 +439,37 @@ data DecodeError
|
||||||
decode :: Int -> String -> Either DecodeError AnswerMessage
|
decode :: Int -> String -> Either DecodeError AnswerMessage
|
||||||
decode number string
|
decode number string
|
||||||
= case number of
|
= case number of
|
||||||
0 -> error_management codecGotError GotError
|
0 -> error_management codecGotError GotError
|
||||||
1 -> error_management codecGotToken GotToken
|
1 -> error_management codecGotToken GotToken
|
||||||
2 -> error_management codecGotUser GotUser
|
2 -> error_management codecGotUser GotUser
|
||||||
3 -> error_management codecGotUserAdded GotUserAdded
|
3 -> error_management codecGotUserAdded GotUserAdded
|
||||||
4 -> error_management codecGotUserEdited GotUserEdited
|
4 -> error_management codecGotUserEdited GotUserEdited
|
||||||
5 -> error_management codecGotUserValidated GotUserValidated
|
5 -> error_management codecGotUserValidated GotUserValidated
|
||||||
6 -> error_management codecGotUsersList GotUsersList
|
6 -> error_management codecGotUsersList GotUsersList
|
||||||
7 -> error_management codecGotPermissionCheck GotPermissionCheck
|
7 -> error_management codecGotPermissionCheck GotPermissionCheck
|
||||||
8 -> error_management codecGotPermissionSet GotPermissionSet
|
8 -> error_management codecGotPermissionSet GotPermissionSet
|
||||||
9 -> error_management codecGotPasswordRecoverySent GotPasswordRecoverySent
|
9 -> error_management codecGotPasswordRecoverySent GotPasswordRecoverySent
|
||||||
10 -> error_management codecGotPasswordRecovered GotPasswordRecovered
|
10 -> error_management codecGotPasswordRecovered GotPasswordRecovered
|
||||||
11 -> error_management codecGotMatchingUsers GotMatchingUsers
|
11 -> error_management codecGotMatchingUsers GotMatchingUsers
|
||||||
12 -> error_management codecGotUserDeleted GotUserDeleted
|
12 -> error_management codecGotUserDeleted GotUserDeleted
|
||||||
20 -> error_management codecGotErrorMustBeAuthenticated GotErrorMustBeAuthenticated
|
20 -> error_management codecGotErrorMustBeAuthenticated GotErrorMustBeAuthenticated
|
||||||
21 -> error_management codecGotErrorAlreadyUsedLogin GotErrorAlreadyUsedLogin
|
21 -> error_management codecGotErrorAlreadyUsedLogin GotErrorAlreadyUsedLogin
|
||||||
22 -> error_management codecGotErrorMailRequired GotErrorMailRequired
|
22 -> error_management codecGotErrorMailRequired GotErrorMailRequired
|
||||||
23 -> error_management codecGotErrorUserNotFound GotErrorUserNotFound
|
23 -> error_management codecGotErrorUserNotFound GotErrorUserNotFound
|
||||||
24 -> error_management codecGotErrorPasswordTooShort GotErrorPasswordTooShort
|
24 -> error_management codecGotErrorPasswordTooShort GotErrorPasswordTooShort
|
||||||
25 -> error_management codecGotErrorInvalidCredentials GotErrorInvalidCredentials
|
25 -> error_management codecGotErrorInvalidCredentials GotErrorInvalidCredentials
|
||||||
26 -> error_management codecGotErrorRegistrationsClosed GotErrorRegistrationsClosed
|
26 -> error_management codecGotErrorRegistrationsClosed GotErrorRegistrationsClosed
|
||||||
27 -> error_management codecGotErrorInvalidLoginFormat GotErrorInvalidLoginFormat
|
27 -> error_management codecGotErrorInvalidLoginFormat GotErrorInvalidLoginFormat
|
||||||
28 -> error_management codecGotErrorInvalidEmailFormat GotErrorInvalidEmailFormat
|
28 -> error_management codecGotErrorInvalidEmailFormat GotErrorInvalidEmailFormat
|
||||||
29 -> error_management codecGotErrorAlreadyUsersInDB GotErrorAlreadyUsersInDB
|
29 -> error_management codecGotErrorAlreadyUsersInDB GotErrorAlreadyUsersInDB
|
||||||
30 -> error_management codecGotErrorReadOnlyProfileKeys GotErrorReadOnlyProfileKeys
|
30 -> error_management codecGotErrorReadOnlyProfileKeys GotErrorReadOnlyProfileKeys
|
||||||
31 -> error_management codecGotErrorInvalidActivationKey GotErrorInvalidActivationKey
|
31 -> error_management codecGotErrorInvalidActivationKey GotErrorInvalidActivationKey
|
||||||
32 -> error_management codecGotErrorUserAlreadyValidated GotErrorUserAlreadyValidated
|
32 -> error_management codecGotErrorUserAlreadyValidated GotErrorUserAlreadyValidated
|
||||||
33 -> error_management codecGotErrorCannotContactUser GotErrorCannotContactUser
|
33 -> error_management codecGotErrorCannotContactUser GotErrorCannotContactUser
|
||||||
34 -> error_management codecGotErrorInvalidRenewKey GotErrorInvalidRenewKey
|
34 -> error_management codecGotErrorInvalidRenewKey GotErrorInvalidRenewKey
|
||||||
35 -> error_management codecGotErrorPasswordTooLong GotErrorPasswordTooLong
|
35 -> error_management codecGotErrorPasswordTooLong GotErrorPasswordTooLong
|
||||||
250 -> error_management codecGotKeepAlive GotKeepAlive
|
36 -> error_management codecGotErrorEmailAddressNotValidated GotErrorEmailAddressNotValidated
|
||||||
|
250 -> error_management codecGotKeepAlive GotKeepAlive
|
||||||
_ -> Left UnknownNumber
|
_ -> Left UnknownNumber
|
||||||
where
|
where
|
||||||
-- Signature is required since the compiler's guess is wrong.
|
-- Signature is required since the compiler's guess is wrong.
|
||||||
|
|
Loading…
Add table
Reference in a new issue