64 lines
1.7 KiB
TypeScript
Raw Normal View History

2019-09-18 15:02:21 +09:00
import { Injectable } from '@angular/core';
import {
SessionStorageService,
LocalStorageService
} from '@ucap-webmessenger/web-storage';
2019-09-27 12:53:21 +09:00
import { LocaleCode } from '@ucap-webmessenger/core';
2019-12-13 14:38:42 +09:00
import {
LoginInfo,
KEY_LOGIN_INFO,
KEY_LOGIN_RES_INFO,
KEY_VER_INFO
} from '../types';
2019-11-29 14:26:59 +09:00
import { PasswordUtil } from '@ucap-webmessenger/pi';
2019-12-15 18:07:25 +09:00
import { DaesangCipherService } from '@ucap-webmessenger/daesang';
2019-09-18 15:02:21 +09:00
@Injectable({
providedIn: 'root'
})
2019-09-19 18:22:13 +09:00
export class AppAuthenticationService {
2019-09-18 15:02:21 +09:00
showLoader = false;
constructor(
private sessionStorageService: SessionStorageService,
2019-12-15 18:07:25 +09:00
private localStorageService: LocalStorageService,
private daesangCipherService: DaesangCipherService
2019-09-18 15:02:21 +09:00
) {}
authenticated(): boolean {
const loginInfo = this.sessionStorageService.get<LoginInfo>(KEY_LOGIN_INFO);
return null !== loginInfo && !!loginInfo.loginId;
}
login(loginInfo: LoginInfo, rememberMe: boolean) {
2019-09-24 14:53:22 +09:00
loginInfo = { ...loginInfo, localeCode: LocaleCode.Korean };
2019-09-18 15:02:21 +09:00
this.sessionStorageService.set<LoginInfo>(KEY_LOGIN_INFO, {
...loginInfo,
2019-11-28 15:48:36 +09:00
initPw: loginInfo.loginId === loginInfo.loginPw,
2019-12-15 18:07:25 +09:00
// loginPw: PasswordUtil.encrypt(loginInfo.loginPw)
loginPw: this.daesangCipherService.encrypt(
'DaesangSSOProject',
loginInfo.loginPw,
'N'
)
2019-09-18 15:02:21 +09:00
});
if (rememberMe) {
this.localStorageService.set<LoginInfo>(KEY_LOGIN_INFO, {
...loginInfo,
loginPw: undefined
});
} else {
this.localStorageService.remove(KEY_LOGIN_INFO);
}
}
2019-09-19 17:03:39 +09:00
logout() {
this.sessionStorageService.remove(KEY_LOGIN_RES_INFO);
this.sessionStorageService.remove(KEY_VER_INFO);
2019-09-19 17:03:39 +09:00
this.sessionStorageService.remove(KEY_LOGIN_INFO);
}
2019-09-18 15:02:21 +09:00
}