diff options
author | Josh Morel <morel.josh@hotmail.com> | 2018-08-31 03:18:19 -0400 |
---|---|---|
committer | Chocobozzz <me@florianbigard.com> | 2018-08-31 09:18:19 +0200 |
commit | d9eaee3939bf2e93e5d775d32bce77842201faba (patch) | |
tree | c115acb3611986b98f51b3addf29ebe66f63ee7f /server/helpers | |
parent | 04291e1ba44032165388758e993d385a10c1c5a1 (diff) | |
download | PeerTube-d9eaee3939bf2e93e5d775d32bce77842201faba.tar.gz PeerTube-d9eaee3939bf2e93e5d775d32bce77842201faba.tar.zst PeerTube-d9eaee3939bf2e93e5d775d32bce77842201faba.zip |
add user account email verificiation (#977)
* add user account email verificiation
includes server and client code to:
* enable verificationRequired via custom config
* send verification email with registration
* ask for verification email
* verify via email
* prevent login if not verified and required
* conditional client links to ask for new verification email
* allow login for verified=null
these are users created when verification not required
should still be able to login when verification is enabled
* refactor email verifcation pr
* change naming from verified to emailVerified
* change naming from askVerifyEmail to askSendVerifyEmail
* undo unrelated automatic prettier formatting on api/config
* use redirectService for home
* remove redundant success notification on email verified
* revert test.yaml smpt host
Diffstat (limited to 'server/helpers')
-rw-r--r-- | server/helpers/audit-logger.ts | 1 | ||||
-rw-r--r-- | server/helpers/custom-validators/users.ts | 5 |
2 files changed, 6 insertions, 0 deletions
diff --git a/server/helpers/audit-logger.ts b/server/helpers/audit-logger.ts index db20df20f..7db72b69c 100644 --- a/server/helpers/audit-logger.ts +++ b/server/helpers/audit-logger.ts | |||
@@ -234,6 +234,7 @@ const customConfigKeysToKeep = [ | |||
234 | 'cache-captions-size', | 234 | 'cache-captions-size', |
235 | 'signup-enabled', | 235 | 'signup-enabled', |
236 | 'signup-limit', | 236 | 'signup-limit', |
237 | 'signup-requiresEmailVerification', | ||
237 | 'admin-email', | 238 | 'admin-email', |
238 | 'user-videoQuota', | 239 | 'user-videoQuota', |
239 | 'transcoding-enabled', | 240 | 'transcoding-enabled', |
diff --git a/server/helpers/custom-validators/users.ts b/server/helpers/custom-validators/users.ts index 8d6247e41..90fc74a48 100644 --- a/server/helpers/custom-validators/users.ts +++ b/server/helpers/custom-validators/users.ts | |||
@@ -33,6 +33,10 @@ function isUserDescriptionValid (value: string) { | |||
33 | return value === null || (exists(value) && validator.isLength(value, CONSTRAINTS_FIELDS.USERS.DESCRIPTION)) | 33 | return value === null || (exists(value) && validator.isLength(value, CONSTRAINTS_FIELDS.USERS.DESCRIPTION)) |
34 | } | 34 | } |
35 | 35 | ||
36 | function isUserEmailVerifiedValid (value: any) { | ||
37 | return isBooleanValid(value) | ||
38 | } | ||
39 | |||
36 | const nsfwPolicies = values(NSFW_POLICY_TYPES) | 40 | const nsfwPolicies = values(NSFW_POLICY_TYPES) |
37 | function isUserNSFWPolicyValid (value: any) { | 41 | function isUserNSFWPolicyValid (value: any) { |
38 | return exists(value) && nsfwPolicies.indexOf(value) !== -1 | 42 | return exists(value) && nsfwPolicies.indexOf(value) !== -1 |
@@ -72,6 +76,7 @@ export { | |||
72 | isUserVideoQuotaValid, | 76 | isUserVideoQuotaValid, |
73 | isUserVideoQuotaDailyValid, | 77 | isUserVideoQuotaDailyValid, |
74 | isUserUsernameValid, | 78 | isUserUsernameValid, |
79 | isUserEmailVerifiedValid, | ||
75 | isUserNSFWPolicyValid, | 80 | isUserNSFWPolicyValid, |
76 | isUserAutoPlayVideoValid, | 81 | isUserAutoPlayVideoValid, |
77 | isUserDisplayNameValid, | 82 | isUserDisplayNameValid, |