UNPKG

isa-auth-core

Version:
99 lines (98 loc) 3 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "default", { enumerable: true, get: function() { return _default; } }); const _jwt = require("../auths/jwt"); const _isautil = require("isa-util"); const _store = require("../store"); const _baseAuthService = /*#__PURE__*/ _interop_require_default(require("./baseAuthService")); function _interop_require_default(obj) { return obj && obj.__esModule ? obj : { default: obj }; } class JwtService extends _baseAuthService.default { initStore(prevState) { super.initStore(prevState); } // jwt secret 설정 configureJwt(secret) { (0, _jwt.configureJwtManager)(secret); } getAuthState() { return super.getAuthState(); } setAuthState(value) { super.setAuthState(value); } getAuthInfo() { return super.getAuthInfo(); } setAuthInfo(value) { super.setAuthInfo(value); } watchAuthState(callback) { return super.watchAuthState(callback); } clearAuthState() { super.clearAuthState(); (0, _store.removeAccessToken)(); } // access token 관련 메소드 getAccessToken() { return (0, _store.getAccessToken)(); } setAccessToken(value) { (0, _store.setAccessToken)(value); } isValidAccessToken() { const token = (0, _store.getAccessToken)(); var _isValidToken; return (_isValidToken = (0, _jwt.isValidToken)(token)) !== null && _isValidToken !== void 0 ? _isValidToken : false; } isExpiredAccessToken() { const token = (0, _store.getAccessToken)(); var _isExpiredToken; return (_isExpiredToken = (0, _jwt.isExpiredToken)(token)) !== null && _isExpiredToken !== void 0 ? _isExpiredToken : false; } getAccessTokenPayload() { const token = (0, _store.getAccessToken)(); return (0, _jwt.getTokenPayload)(token); } setAccessTokenFromHeader(header) { const token = (0, _jwt.getTokenFromHeader)(header); if (!token) return; (0, _store.setAccessToken)(token); } async refreshToken(refreshTokenFn) { try { const newToken = await refreshTokenFn(); if (!(0, _jwt.isValidToken)(newToken)) throw new Error('Invalid token'); const payload = (0, _jwt.getTokenPayload)(newToken); this.setAuthInfo((0, _isautil.isNull)(this.getAuthInfo()) ? { payload } : { ...this.getAuthInfo(), payload }); (0, _store.setAccessToken)(newToken); return newToken; } catch (error) { this.clearAuthState(); return null; } } constructor(secret){ super(); this.initStore(false); this.configureJwt(secret); } } const _default = JwtService; //# sourceMappingURL=jwtService.js.map