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 /client/src/app/shared/users | |
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 'client/src/app/shared/users')
-rw-r--r-- | client/src/app/shared/users/user.service.ts | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/client/src/app/shared/users/user.service.ts b/client/src/app/shared/users/user.service.ts index e6dc3dbf8..249c589b7 100644 --- a/client/src/app/shared/users/user.service.ts +++ b/client/src/app/shared/users/user.service.ts | |||
@@ -94,4 +94,27 @@ export class UserService { | |||
94 | catchError(res => this.restExtractor.handleError(res)) | 94 | catchError(res => this.restExtractor.handleError(res)) |
95 | ) | 95 | ) |
96 | } | 96 | } |
97 | |||
98 | verifyEmail (userId: number, verificationString: string) { | ||
99 | const url = `${UserService.BASE_USERS_URL}/${userId}/verify-email` | ||
100 | const body = { | ||
101 | verificationString | ||
102 | } | ||
103 | |||
104 | return this.authHttp.post(url, body) | ||
105 | .pipe( | ||
106 | map(this.restExtractor.extractDataBool), | ||
107 | catchError(res => this.restExtractor.handleError(res)) | ||
108 | ) | ||
109 | } | ||
110 | |||
111 | askSendVerifyEmail (email: string) { | ||
112 | const url = UserService.BASE_USERS_URL + '/ask-send-verify-email' | ||
113 | |||
114 | return this.authHttp.post(url, { email }) | ||
115 | .pipe( | ||
116 | map(this.restExtractor.extractDataBool), | ||
117 | catchError(err => this.restExtractor.handleError(err)) | ||
118 | ) | ||
119 | } | ||
97 | } | 120 | } |