aboutsummaryrefslogtreecommitdiffhomepage
path: root/client/src/app/core/auth
diff options
context:
space:
mode:
authorChocobozzz <florian.bigard@gmail.com>2017-07-11 10:09:18 +0200
committerChocobozzz <florian.bigard@gmail.com>2017-07-11 10:09:18 +0200
commit33c4972d5b54155540267f4c9c9ee55c539b8385 (patch)
treec150d11c0afdeb90c19c4d59297c6829b2d55dd1 /client/src/app/core/auth
parent4771e0008dd26eadbb7eaff64255a6ec914fdadb (diff)
downloadPeerTube-33c4972d5b54155540267f4c9c9ee55c539b8385.tar.gz
PeerTube-33c4972d5b54155540267f4c9c9ee55c539b8385.tar.zst
PeerTube-33c4972d5b54155540267f4c9c9ee55c539b8385.zip
Type webtorrent
Diffstat (limited to 'client/src/app/core/auth')
-rw-r--r--client/src/app/core/auth/auth-user.model.ts2
-rw-r--r--client/src/app/core/auth/auth.service.ts34
2 files changed, 28 insertions, 8 deletions
diff --git a/client/src/app/core/auth/auth-user.model.ts b/client/src/app/core/auth/auth-user.model.ts
index 9cb201907..4155aea19 100644
--- a/client/src/app/core/auth/auth-user.model.ts
+++ b/client/src/app/core/auth/auth-user.model.ts
@@ -96,6 +96,7 @@ export class AuthUser extends User {
96 localStorage.removeItem(this.KEYS.ID) 96 localStorage.removeItem(this.KEYS.ID)
97 localStorage.removeItem(this.KEYS.ROLE) 97 localStorage.removeItem(this.KEYS.ROLE)
98 localStorage.removeItem(this.KEYS.DISPLAY_NSFW) 98 localStorage.removeItem(this.KEYS.DISPLAY_NSFW)
99 localStorage.removeItem(this.KEYS.EMAIL)
99 Tokens.flush() 100 Tokens.flush()
100 } 101 }
101 102
@@ -130,6 +131,7 @@ export class AuthUser extends User {
130 save () { 131 save () {
131 localStorage.setItem(AuthUser.KEYS.ID, this.id.toString()) 132 localStorage.setItem(AuthUser.KEYS.ID, this.id.toString())
132 localStorage.setItem(AuthUser.KEYS.USERNAME, this.username) 133 localStorage.setItem(AuthUser.KEYS.USERNAME, this.username)
134 localStorage.setItem(AuthUser.KEYS.EMAIL, this.email)
133 localStorage.setItem(AuthUser.KEYS.ROLE, this.role) 135 localStorage.setItem(AuthUser.KEYS.ROLE, this.role)
134 localStorage.setItem(AuthUser.KEYS.DISPLAY_NSFW, JSON.stringify(this.displayNSFW)) 136 localStorage.setItem(AuthUser.KEYS.DISPLAY_NSFW, JSON.stringify(this.displayNSFW))
135 this.tokens.save() 137 this.tokens.save()
diff --git a/client/src/app/core/auth/auth.service.ts b/client/src/app/core/auth/auth.service.ts
index d5aa80512..de9e14b2d 100644
--- a/client/src/app/core/auth/auth.service.ts
+++ b/client/src/app/core/auth/auth.service.ts
@@ -11,7 +11,7 @@ import { NotificationsService } from 'angular2-notifications'
11 11
12import { AuthStatus } from './auth-status.model' 12import { AuthStatus } from './auth-status.model'
13import { AuthUser } from './auth-user.model' 13import { AuthUser } from './auth-user.model'
14import { OAuthClientLocal } from '../../../../../shared' 14import { OAuthClientLocal, UserRole } from '../../../../../shared'
15// Do not use the barrel (dependency loop) 15// Do not use the barrel (dependency loop)
16import { RestExtractor } from '../../shared/rest' 16import { RestExtractor } from '../../shared/rest'
17 17
@@ -181,7 +181,10 @@ export class AuthService {
181 181
182 refreshUserInformations () { 182 refreshUserInformations () {
183 const obj = { 183 const obj = {
184 access_token: this.user.getAccessToken() 184 access_token: this.user.getAccessToken(),
185 refresh_token: null,
186 token_type: this.user.getTokenType(),
187 username: this.user.username
185 } 188 }
186 189
187 this.mergeUserInformations (obj) 190 this.mergeUserInformations (obj)
@@ -195,7 +198,12 @@ export class AuthService {
195 ) 198 )
196 } 199 }
197 200
198 private mergeUserInformations (obj: { access_token: string }) { 201 private mergeUserInformations (obj: {
202 access_token: string,
203 refresh_token: string,
204 token_type: string,
205 username: string
206 }) {
199 // Do not call authHttp here to avoid circular dependencies headaches 207 // Do not call authHttp here to avoid circular dependencies headaches
200 208
201 const headers = new Headers() 209 const headers = new Headers()
@@ -205,9 +213,10 @@ export class AuthService {
205 .map(res => res.json()) 213 .map(res => res.json())
206 .map(res => { 214 .map(res => {
207 const newProperties = { 215 const newProperties = {
208 id: res.id, 216 id: res.id as number,
209 role: res.role, 217 role: res.role as UserRole,
210 displayNSFW: res.displayNSFW 218 displayNSFW: res.displayNSFW as boolean,
219 email: res.email as string
211 } 220 }
212 221
213 return Object.assign(obj, newProperties) 222 return Object.assign(obj, newProperties)
@@ -215,7 +224,16 @@ export class AuthService {
215 ) 224 )
216 } 225 }
217 226
218 private handleLogin (obj: any) { 227 private handleLogin (obj: {
228 access_token: string,
229 refresh_token: string,
230 token_type: string,
231 id: number,
232 username: string,
233 email: string,
234 role: UserRole,
235 displayNSFW: boolean
236 }) {
219 const id = obj.id 237 const id = obj.id
220 const username = obj.username 238 const username = obj.username
221 const role = obj.role 239 const role = obj.role
@@ -233,7 +251,7 @@ export class AuthService {
233 this.setStatus(AuthStatus.LoggedIn) 251 this.setStatus(AuthStatus.LoggedIn)
234 } 252 }
235 253
236 private handleRefreshToken (obj: any) { 254 private handleRefreshToken (obj: { access_token: string, refresh_token: string }) {
237 this.user.refreshTokens(obj.access_token, obj.refresh_token) 255 this.user.refreshTokens(obj.access_token, obj.refresh_token)
238 this.user.save() 256 this.user.save()
239 } 257 }