UNPKG

deep-security

Version:
60 lines (48 loc) 1.68 kB
/** * Created by CCristi on 4/4/17. */ 'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); exports.UserPoolImplementation = undefined; var _awsSdk = require('aws-sdk'); var _awsSdk2 = _interopRequireDefault(_awsSdk); var _AbstractImplementation = require('./AbstractImplementation'); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } class UserPoolImplementation extends _AbstractImplementation.AbstractImplementation { /** * @param {Object[]|*} args */ constructor(...args) { super(...args); } /** * @returns {Promise} */ refreshIdentity() { let payload = { AuthFlow: 'REFRESH_TOKEN_AUTH', AuthParameters: { REFRESH_TOKEN: this.refreshToken, ClientId: this.clientName } }; return this.cognitoIdentityServiceProvider.makeUnauthenticatedRequest('initiateAuth', payload).promise().then(response => { let authResult = response.AuthenticationResult; this.identityProvider.tokenExpirationTime = Date.now() + authResult.ExpiresIn * 1000; this.identityProvider.userToken = authResult.IdToken; }); } /** * @returns {AWS.CognitoIdentityServiceProvider} */ get cognitoIdentityServiceProvider() { if (_awsSdk2.default.hasOwnProperty('CognitoIdentityServiceProvider')) { // token refresh doesn't need any AWS credentials passed to service config return new _awsSdk2.default.CognitoIdentityServiceProvider(); } throw new Error(`Missing CognitoIdentityServiceProvider in aws-sdk@${_awsSdk2.default.VERSION}`); } } exports.UserPoolImplementation = UserPoolImplementation;