From 17f0285304821b02b703de7b5cc778344ffc43f3 Mon Sep 17 00:00:00 2001 From: powerful23 Date: Wed, 21 Mar 2018 17:09:45 -0700 Subject: [PATCH 01/22] mionr chnage --- .../src/Auth/FederatedSignIn.jsx | 15 +++++- .../src/Auth/Provider/index.jsx | 4 +- .../src/Auth/Provider/withCognito.jsx | 46 +++++++++++++++++++ 3 files changed, 63 insertions(+), 2 deletions(-) create mode 100644 packages/aws-amplify-react/src/Auth/Provider/withCognito.jsx diff --git a/packages/aws-amplify-react/src/Auth/FederatedSignIn.jsx b/packages/aws-amplify-react/src/Auth/FederatedSignIn.jsx index 60ee71baa9f..d639a1437bd 100644 --- a/packages/aws-amplify-react/src/Auth/FederatedSignIn.jsx +++ b/packages/aws-amplify-react/src/Auth/FederatedSignIn.jsx @@ -49,6 +49,18 @@ export class FederatedButtons extends Component { /> } + cognito(cognito_auth) { + if (!cognito_auth) { return null; } + const { theme, onStateChange } = this.props; + return + } + + render() { const { authState } = this.props; if (!['signIn', 'signedOut', 'signedUp'].includes(authState)) { return null; } @@ -56,7 +68,7 @@ export class FederatedButtons extends Component { const federated = this.props.federated || {}; if (JS.isEmpty(federated)) { return null; } - const { google_client_id, facebook_app_id, amazon_client_id } = federated; + const { google_client_id, facebook_app_id, amazon_client_id, cognito_auth } = federated; const theme = this.props.theme || AmplifyTheme; return ( @@ -64,6 +76,7 @@ export class FederatedButtons extends Component { {this.google(google_client_id)} {this.facebook(facebook_app_id)} {this.amazon(amazon_client_id)} + {this.cognito(cognito_auth)} ) } diff --git a/packages/aws-amplify-react/src/Auth/Provider/index.jsx b/packages/aws-amplify-react/src/Auth/Provider/index.jsx index c28cd5c5ae3..b2fafb24246 100644 --- a/packages/aws-amplify-react/src/Auth/Provider/index.jsx +++ b/packages/aws-amplify-react/src/Auth/Provider/index.jsx @@ -3,13 +3,15 @@ import React, { Component } from 'react'; import withGoogle from './withGoogle'; import withFacebook from './withFacebook'; import withAmazon from './withAmazon'; +import withCognito from './withCognito'; export { default as withGoogle, GoogleButton } from './withGoogle'; export { default as withFacebook, FacebookButton } from './withFacebook'; export { default as withAmazon, AmazonButton } from './withAmazon'; +export { default as withCognito, CognitoButton } from './withCognito'; export function withFederated(Comp) { - const Federated = withAmazon(withGoogle(withFacebook(Comp))); + const Federated = withCognito(withAmazon(withGoogle(withFacebook(Comp)))); return class extends Component { render() { diff --git a/packages/aws-amplify-react/src/Auth/Provider/withCognito.jsx b/packages/aws-amplify-react/src/Auth/Provider/withCognito.jsx new file mode 100644 index 00000000000..00f1e799fe2 --- /dev/null +++ b/packages/aws-amplify-react/src/Auth/Provider/withCognito.jsx @@ -0,0 +1,46 @@ +import React, { Component } from 'react'; + +import { Auth, Logger } from 'aws-amplify'; +import AmplifyTheme from '../../AmplifyTheme'; +import { SignInButton } from '../../AmplifyUI'; + +const logger = new Logger('withCognito'); + +export default function withCognito(Comp) { + return class extends Component { + constructor(props) { + super(props); + this.signIn = this.signIn.bind(this); + this.state = {}; + } + + signIn() { + const { + AppWebDomain, + RedirectUriSignIn, + RedirectUriSignOut } = Auth.getConfig('cognitoAuth'); + const clientId = Auth.getConfig('userPoolWebClientId'); + const responseType = 'token'; + const url = 'https://' + AppWebDomain + '/login?redirect_uri=' + RedirectUriSignIn + '&response_type=' + responseType + '&client_id=' + clientId; + window.location.assign(url); + } + + render() { + return ( + + ) + } + } +} + +const Button = (props) => ( + + {props.label || 'Sign in with AWS'} + +) + +export const CognitoButton = withCognito(Button); \ No newline at end of file From e2c020223e4f60813987ccb9c21c6ebd7d81300e Mon Sep 17 00:00:00 2001 From: powerful23 Date: Thu, 22 Mar 2018 17:18:56 -0700 Subject: [PATCH 02/22] mionr change --- packages/aws-amplify/package.json | 1 + packages/aws-amplify/src/Auth/Auth.ts | 59 +++++++++++++++++++----- packages/aws-amplify/src/Common/Facet.ts | 3 +- yarn.lock | 6 +++ 4 files changed, 56 insertions(+), 13 deletions(-) diff --git a/packages/aws-amplify/package.json b/packages/aws-amplify/package.json index a44e065f15f..d9a6b63ebdd 100644 --- a/packages/aws-amplify/package.json +++ b/packages/aws-amplify/package.json @@ -55,6 +55,7 @@ "webpack": "^3.5.5" }, "dependencies": { + "amazon-cognito-auth-js": "^1.1.4", "amazon-cognito-identity-js": "^2.0.0", "aws-sdk": "2.198.0", "axios": "^0.17.0", diff --git a/packages/aws-amplify/src/Auth/Auth.ts b/packages/aws-amplify/src/Auth/Auth.ts index 57841fe3a79..b488bbf3af3 100644 --- a/packages/aws-amplify/src/Auth/Auth.ts +++ b/packages/aws-amplify/src/Auth/Auth.ts @@ -970,6 +970,8 @@ export default class AuthClass { } } + + /** * For federated login * @param {String} provider - federation login provider @@ -978,20 +980,53 @@ export default class AuthClass { * @param {String} user - user info */ public federatedSignIn(provider: string, response: FederatedResponse, user: object) { - const { token, expires_at } = response; + if (provider === 'cognito') { - // store it into localstorage - // Cache.setItem('federatedInfo', { provider, token, user, expires_at }, { priority: 1 }); - const that = this; - return new Promise((res, rej) => { - that._setCredentialsFromFederation({ provider, token, user, expires_at }).then((cred) => { - dispatchAuthEvent('signIn', that.user); - logger.debug('federated sign in credentials', this.credentials); - res(cred); - }).catch(e => { - rej(e); + try { + const cognitoAuthParams = Object.assign( + { + 'ClientId': this._config['userPoolWebClientId'], + 'UserPoolId': this._config['userPoolId'] + }, + this._config['cognitoAuth'] + ); + logger.debug('CognitoAuth params: ',cognitoAuthParams); + const curUrl = window.location.href; + this.cognitoAuth = new CognitoAuth.CognitoAuth(cognitoAuthParams); + return new Promise((resolve, reject) => { + that.cognitoAuth.userhandler = { + onSuccess: (result) => { + logger.debug("Cognito Hosted authentication result", result); + that.setCredentialsFromSession(result); + resolve(result); + }, + onFailure: (err) => { + logger.debug("Error in cognito hosted auth response", err); + reject(err); + } + }; + that.cognitoAuth.parseCognitoWebResponse(curUrl); + }); + } catch(error) { + logger.debug("Error parsing cognito hosted authentication response", error); + return Promise.reject(error); + } + + + } else { + const { token, expires_at } = response; + const that = this; + return new Promise((res, rej) => { + that._setCredentialsFromFederation({ provider, token, user, expires_at }).then((cred) => { + dispatchAuthEvent('signIn', that.user); + logger.debug('federated sign in credentials', this.credentials); + res(cred); + }).catch(e => { + rej(e); + }); }); - }); + } + } /** diff --git a/packages/aws-amplify/src/Common/Facet.ts b/packages/aws-amplify/src/Common/Facet.ts index 6d6e247480c..5d602123267 100644 --- a/packages/aws-amplify/src/Common/Facet.ts +++ b/packages/aws-amplify/src/Common/Facet.ts @@ -17,5 +17,6 @@ import * as AWS from 'aws-sdk/global'; import * as Cognito from 'amazon-cognito-identity-js'; import * as Pinpoint from 'aws-sdk/clients/pinpoint'; import * as MobileAnalytics from 'aws-sdk/clients/mobileanalytics'; +import * as CognitoAuth from 'amazon-cognito-auth-js'; -export {AWS, S3, Cognito, Pinpoint, MobileAnalytics }; +export {AWS, S3, Cognito, Pinpoint, MobileAnalytics, CognitoAuth }; diff --git a/yarn.lock b/yarn.lock index 86b4e7bb4d8..6516c671256 100644 --- a/yarn.lock +++ b/yarn.lock @@ -177,6 +177,12 @@ align-text@^0.1.1, align-text@^0.1.3: longest "^1.0.1" repeat-string "^1.5.2" +amazon-cognito-auth-js@^1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/amazon-cognito-auth-js/-/amazon-cognito-auth-js-1.1.4.tgz#8861694754563da2f9991ced8615de6ba3fcd615" + dependencies: + buffer "4.9.1" + amdefine@>=0.0.4: version "1.0.1" resolved "https://registry.yarnpkg.com/amdefine/-/amdefine-1.0.1.tgz#4a5282ac164729e93619bcfd3ad151f817ce91f5" From b7ee2febd9d1ef3bb92d17f8d8c634b5a97010ad Mon Sep 17 00:00:00 2001 From: powerful23 Date: Fri, 23 Mar 2018 16:08:02 -0700 Subject: [PATCH 03/22] mionr change --- .../dist/Auth/FederatedSignIn.js | 35 +- .../aws-amplify-react/dist/Auth/Greetings.js | 52 +++ .../dist/Auth/Provider/index.js | 29 +- .../dist/Auth/Provider/withGoogle.js | 4 + .../src/Auth/FederatedSignIn.jsx | 3 +- .../src/Auth/Provider/withCognito.jsx | 11 +- .../aws-amplify/lib/Analytics/Analytics.d.ts | 9 + .../aws-amplify/lib/Analytics/Analytics.js | 20 + .../lib/Analytics/Analytics.js.map | 2 +- .../Providers/AWSAnalyticsProvider.js | 4 +- packages/aws-amplify/lib/Analytics/index.js | 8 +- .../aws-amplify/lib/Analytics/index.js.map | 2 +- packages/aws-amplify/lib/Auth/Auth.d.ts | 23 +- packages/aws-amplify/lib/Auth/Auth.js | 424 +++++++++++------- packages/aws-amplify/lib/Auth/Auth.js.map | 2 +- packages/aws-amplify/lib/Auth/types/Auth.d.ts | 8 + packages/aws-amplify/lib/Common/Facet.d.ts | 3 +- packages/aws-amplify/lib/Common/Facet.js | 2 + packages/aws-amplify/lib/Common/Facet.js.map | 2 +- packages/aws-amplify/lib/Common/JS.d.ts | 1 + packages/aws-amplify/lib/Common/JS.js | 20 + packages/aws-amplify/lib/Common/JS.js.map | 2 +- .../lib/Common/Logger/ConsoleLogger.js | 6 +- .../lib/Common/Logger/ConsoleLogger.js.map | 2 +- packages/aws-amplify/lib/Common/Parser.js | 22 +- packages/aws-amplify/lib/Common/Parser.js.map | 2 +- packages/aws-amplify/lib/Common/index.d.ts | 1 + packages/aws-amplify/lib/Common/index.js | 3 + packages/aws-amplify/lib/Common/index.js.map | 2 +- packages/aws-amplify/src/Auth/Auth.ts | 113 +++-- packages/aws-amplify/src/Auth/types/Auth.ts | 1 + packages/aws-amplify/src/Common/Facet.ts | 4 +- packages/aws-amplify/src/Common/Parser.ts | 24 +- 33 files changed, 587 insertions(+), 259 deletions(-) diff --git a/packages/aws-amplify-react/dist/Auth/FederatedSignIn.js b/packages/aws-amplify-react/dist/Auth/FederatedSignIn.js index 4010a6f9b98..c6e69587dde 100644 --- a/packages/aws-amplify-react/dist/Auth/FederatedSignIn.js +++ b/packages/aws-amplify-react/dist/Auth/FederatedSignIn.js @@ -103,6 +103,27 @@ var FederatedButtons = exports.FederatedButtons = function (_Component) { return amazon; }() + }, { + key: 'cognito', + value: function () { + function cognito(cognito_auth) { + if (!cognito_auth) { + return null; + } + var _props4 = this.props, + theme = _props4.theme, + onStateChange = _props4.onStateChange; + + return _react2['default'].createElement(_Provider.CognitoButton, { + authData: cognito_auth.authData, + label: cognito_auth.label, + theme: theme, + onStateChange: onStateChange + }); + } + + return cognito; + }() }, { key: 'render', value: function () { @@ -120,7 +141,8 @@ var FederatedButtons = exports.FederatedButtons = function (_Component) { var google_client_id = federated.google_client_id, facebook_app_id = federated.facebook_app_id, - amazon_client_id = federated.amazon_client_id; + amazon_client_id = federated.amazon_client_id, + cognito_auth = federated.cognito_auth; var theme = this.props.theme || _AmplifyTheme2['default']; @@ -129,7 +151,8 @@ var FederatedButtons = exports.FederatedButtons = function (_Component) { { theme: theme }, this.google(google_client_id), this.facebook(facebook_app_id), - this.amazon(amazon_client_id) + this.amazon(amazon_client_id), + this.cognito(cognito_auth) ); } @@ -153,10 +176,10 @@ var FederatedSignIn = function (_Component2) { key: 'render', value: function () { function render() { - var _props4 = this.props, - federated = _props4.federated, - authState = _props4.authState, - onStateChange = _props4.onStateChange; + var _props5 = this.props, + federated = _props5.federated, + authState = _props5.authState, + onStateChange = _props5.onStateChange; if (!federated) { logger.debug('federated prop is empty. show nothing'); diff --git a/packages/aws-amplify-react/dist/Auth/Greetings.js b/packages/aws-amplify-react/dist/Auth/Greetings.js index 6157bfc9136..30d4b8ae95b 100644 --- a/packages/aws-amplify-react/dist/Auth/Greetings.js +++ b/packages/aws-amplify-react/dist/Auth/Greetings.js @@ -52,6 +52,8 @@ var Greetings = function (_AuthPiece) { var _this = _possibleConstructorReturn(this, (Greetings.__proto__ || Object.getPrototypeOf(Greetings)).call(this, props)); _this.signOut = _this.signOut.bind(_this); + _this.googleSignOut = _this.googleSignOut.bind(_this); + _this.facebookSignOut = _this.facebookSignOut.bind(_this); _this.checkUser = _this.checkUser.bind(_this); _this.onHubCapsule = _this.onHubCapsule.bind(_this); @@ -89,6 +91,8 @@ var Greetings = function (_AuthPiece) { function signOut() { var _this2 = this; + this.googleSignOut(); + this.facebookSignOut(); _awsAmplify.Auth.signOut().then(function () { return _this2.changeState('signedOut'); })['catch'](function (err) { @@ -98,6 +102,54 @@ var Greetings = function (_AuthPiece) { return signOut; }() + }, { + key: 'googleSignOut', + value: function () { + function googleSignOut() { + var auth2 = window.gapi && window.gapi.auth2 ? window.gapi.auth2 : null; + if (!auth2) { + return Promise.resolve(null); + } + + auth2.getAuthInstance().then(function (googleAuth) { + if (!googleAuth) { + logger.debug('google Auth undefined'); + return Promise.resolve(null); + } + + logger.debug('google signing out'); + return googleAuth.signOut(); + }); + } + + return googleSignOut; + }() + }, { + key: 'facebookSignOut', + value: function () { + function facebookSignOut() { + var fb = window.FB; + if (!fb) { + logger.debug('FB sdk undefined'); + return Promise.resolve(null); + } + + fb.getLoginStatus(function (response) { + if (response.status === 'connected') { + return new Promise(function (res, rej) { + logger.debug('facebook signing out'); + fb.logout(function (response) { + res(response); + }); + }); + } else { + return Promise.resolve(null); + } + }); + } + + return facebookSignOut; + }() }, { key: 'checkUser', value: function () { diff --git a/packages/aws-amplify-react/dist/Auth/Provider/index.js b/packages/aws-amplify-react/dist/Auth/Provider/index.js index 74ab1d795d8..5d990f56408 100644 --- a/packages/aws-amplify-react/dist/Auth/Provider/index.js +++ b/packages/aws-amplify-react/dist/Auth/Provider/index.js @@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true }); -exports.AmazonButton = exports.withAmazon = exports.FacebookButton = exports.withFacebook = exports.GoogleButton = exports.withGoogle = undefined; +exports.CognitoButton = exports.withCognito = exports.AmazonButton = exports.withAmazon = exports.FacebookButton = exports.withFacebook = exports.GoogleButton = exports.withGoogle = undefined; var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; @@ -77,6 +77,29 @@ Object.defineProperty(exports, 'AmazonButton', { return get; }() }); + +var _withCognito = require('./withCognito'); + +Object.defineProperty(exports, 'withCognito', { + enumerable: true, + get: function () { + function get() { + return _interopRequireDefault(_withCognito)['default']; + } + + return get; + }() +}); +Object.defineProperty(exports, 'CognitoButton', { + enumerable: true, + get: function () { + function get() { + return _withCognito.CognitoButton; + } + + return get; + }() +}); exports.withFederated = withFederated; var _react = require('react'); @@ -89,6 +112,8 @@ var _withFacebook2 = _interopRequireDefault(_withFacebook); var _withAmazon2 = _interopRequireDefault(_withAmazon); +var _withCognito2 = _interopRequireDefault(_withCognito); + function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } @@ -98,7 +123,7 @@ function _possibleConstructorReturn(self, call) { if (!self) { throw new Referen function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } function withFederated(Comp) { - var Federated = (0, _withAmazon2['default'])((0, _withGoogle2['default'])((0, _withFacebook2['default'])(Comp))); + var Federated = (0, _withCognito2['default'])((0, _withAmazon2['default'])((0, _withGoogle2['default'])((0, _withFacebook2['default'])(Comp)))); return function (_Component) { _inherits(_class, _Component); diff --git a/packages/aws-amplify-react/dist/Auth/Provider/withGoogle.js b/packages/aws-amplify-react/dist/Auth/Provider/withGoogle.js index be233a384b5..6d5a6e48078 100644 --- a/packages/aws-amplify-react/dist/Auth/Provider/withGoogle.js +++ b/packages/aws-amplify-react/dist/Auth/Provider/withGoogle.js @@ -57,8 +57,12 @@ function withGoogle(Comp) { var _this2 = this; var ga = window.gapi.auth2.getAuthInstance(); + var onError = this.props.onError; + ga.signIn().then(function (googleUser) { return _this2.federatedSignIn(googleUser); + }, function (error) { + if (onError) onError(error);else throw error; }); } diff --git a/packages/aws-amplify-react/src/Auth/FederatedSignIn.jsx b/packages/aws-amplify-react/src/Auth/FederatedSignIn.jsx index d639a1437bd..d48b38bbc59 100644 --- a/packages/aws-amplify-react/src/Auth/FederatedSignIn.jsx +++ b/packages/aws-amplify-react/src/Auth/FederatedSignIn.jsx @@ -10,7 +10,8 @@ import { import { GoogleButton, FacebookButton, - AmazonButton + AmazonButton, + CognitoButton } from './Provider'; const logger = new Logger('FederatedSignIn'); diff --git a/packages/aws-amplify-react/src/Auth/Provider/withCognito.jsx b/packages/aws-amplify-react/src/Auth/Provider/withCognito.jsx index 00f1e799fe2..61995d25243 100644 --- a/packages/aws-amplify-react/src/Auth/Provider/withCognito.jsx +++ b/packages/aws-amplify-react/src/Auth/Provider/withCognito.jsx @@ -14,15 +14,22 @@ export default function withCognito(Comp) { this.state = {}; } + componentDidMount() { + + } + signIn() { + const config = Auth.configure(); const { AppWebDomain, RedirectUriSignIn, - RedirectUriSignOut } = Auth.getConfig('cognitoAuth'); - const clientId = Auth.getConfig('userPoolWebClientId'); + RedirectUriSignOut } = config.hostedUIOptions; + const clientId = config.userPoolWebClientId; const responseType = 'token'; const url = 'https://' + AppWebDomain + '/login?redirect_uri=' + RedirectUriSignIn + '&response_type=' + responseType + '&client_id=' + clientId; window.location.assign(url); + + } render() { diff --git a/packages/aws-amplify/lib/Analytics/Analytics.d.ts b/packages/aws-amplify/lib/Analytics/Analytics.d.ts index 5a6a6edd799..eea847dbeff 100644 --- a/packages/aws-amplify/lib/Analytics/Analytics.d.ts +++ b/packages/aws-amplify/lib/Analytics/Analytics.d.ts @@ -7,6 +7,7 @@ export default class AnalyticsClass { private _buffer; private _provider; private _pluggables; + private _disabled; /** * Initialize Analtyics * @param config - Configuration of the Analytics @@ -22,6 +23,14 @@ export default class AnalyticsClass { * @param {Object} pluggable - an instance of the plugin */ addPluggable(pluggable: AnalyticsProvider): Promise; + /** + * stop sending events + */ + disable(): void; + /** + * start sending events + */ + enable(): void; /** * Record Session start * @return - A promise which resolves if buffer doesn't overflow diff --git a/packages/aws-amplify/lib/Analytics/Analytics.js b/packages/aws-amplify/lib/Analytics/Analytics.js index c5b46431cb7..e0dc8a74bce 100644 --- a/packages/aws-amplify/lib/Analytics/Analytics.js +++ b/packages/aws-amplify/lib/Analytics/Analytics.js @@ -68,6 +68,7 @@ var AnalyticsClass = /** @class */ (function () { this._buffer = []; this._config = {}; this._pluggables = []; + this._disabled = false; // default one // events batch var that = this; @@ -91,6 +92,9 @@ var AnalyticsClass = /** @class */ (function () { var clientInfo = Common_1.ClientDevice.clientInfo(); conf['clientInfo'] = conf['client_info'] ? conf['client_info'] : clientInfo; this._config = conf; + if (conf['disabled']) { + this._disabled = true; + } this._pluggables.map(function (pluggable) { pluggable.configure(conf); }); @@ -123,6 +127,18 @@ var AnalyticsClass = /** @class */ (function () { }); }); }; + /** + * stop sending events + */ + AnalyticsClass.prototype.disable = function () { + this._disabled = true; + }; + /** + * start sending events + */ + AnalyticsClass.prototype.enable = function () { + this._disabled = false; + }; /** * Record Session start * @return - A promise which resolves if buffer doesn't overflow @@ -234,6 +250,10 @@ var AnalyticsClass = /** @class */ (function () { * Put events into buffer */ AnalyticsClass.prototype._putToBuffer = function (params) { + if (this._disabled) { + logger.debug('Analytics has been disabled'); + return Promise.resolve(); + } if (this._buffer.length < BUFFER_SIZE) { this._buffer.push(params); return Promise.resolve(); diff --git a/packages/aws-amplify/lib/Analytics/Analytics.js.map b/packages/aws-amplify/lib/Analytics/Analytics.js.map index 2af9df60986..e7a72b8b828 100644 --- a/packages/aws-amplify/lib/Analytics/Analytics.js.map +++ b/packages/aws-amplify/lib/Analytics/Analytics.js.map @@ -1 +1 @@ -{"version":3,"file":"Analytics.js","sourceRoot":"","sources":["../../src/Analytics/Analytics.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"Analytics.js","sourceRoot":"","sources":["../../src/Analytics/Analytics.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/packages/aws-amplify/lib/Analytics/Providers/AWSAnalyticsProvider.js b/packages/aws-amplify/lib/Analytics/Providers/AWSAnalyticsProvider.js index 585c39d4229..59b57fbab85 100644 --- a/packages/aws-amplify/lib/Analytics/Providers/AWSAnalyticsProvider.js +++ b/packages/aws-amplify/lib/Analytics/Providers/AWSAnalyticsProvider.js @@ -400,7 +400,7 @@ var AWSAnalyticsProvider = /** @class */ (function () { * @return {Object} - The request of updating endpoint */ AWSAnalyticsProvider.prototype._endpointRequest = function () { - var _a = this._config, clientInfo = _a.clientInfo, credentials = _a.credentials, Address = _a.Address, RequestId = _a.RequestId, Attributes = _a.Attributes, UserAttributes = _a.UserAttributes, endpointId = _a.endpointId, userId = _a.userId; + var _a = this._config, clientInfo = _a.clientInfo, credentials = _a.credentials, Address = _a.Address, RequestId = _a.RequestId, Attributes = _a.Attributes, UserAttributes = _a.UserAttributes, endpointId = _a.endpointId, UserId = _a.UserId; var user_id = (credentials && credentials.authenticated) ? credentials.identityId : null; var ChannelType = Address ? ((clientInfo.platform === 'android') ? 'GCM' : 'APNS') : undefined; logger.debug('demographic user id: ', user_id); @@ -420,7 +420,7 @@ var AWSAnalyticsProvider = /** @class */ (function () { RequestId: RequestId, EffectiveDate: Address ? new Date().toISOString() : undefined, User: { - UserId: userId ? userId : credentials.identityId, + UserId: UserId ? UserId : credentials.identityId, UserAttributes: UserAttributes } }; diff --git a/packages/aws-amplify/lib/Analytics/index.js b/packages/aws-amplify/lib/Analytics/index.js index e10d3e0c95f..08dcb2b8298 100644 --- a/packages/aws-amplify/lib/Analytics/index.js +++ b/packages/aws-amplify/lib/Analytics/index.js @@ -17,6 +17,7 @@ exports.AnalyticsClass = Analytics_1.default; var Common_1 = require("../Common"); var Platform_1 = require("../Common/Platform"); var logger = new Common_1.ConsoleLogger('Analytics'); +var startsessionRecorded = false; var _instance = null; if (!_instance) { logger.debug('Create Analytics Instance'); @@ -76,6 +77,12 @@ var authEvent = function (payload) { case 'signIn_failure': Analytics.record('_userauth.auth_fail'); break; + case 'configured': + if (!startsessionRecorded) { + startsessionRecorded = true; + Common_1.Hub.dispatch('analytics', { eventType: 'session_start' }, 'Analytics'); + } + break; } }; var analyticsEvent = function (payload) { @@ -91,5 +98,4 @@ var analyticsEvent = function (payload) { Common_1.Hub.listen('auth', Analytics); Common_1.Hub.listen('storage', Analytics); Common_1.Hub.listen('analytics', Analytics); -Common_1.Hub.dispatch('analytics', { eventType: 'session_start' }, 'Analytics'); //# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/packages/aws-amplify/lib/Analytics/index.js.map b/packages/aws-amplify/lib/Analytics/index.js.map index 09de5ee9e81..d51c96afab5 100644 --- a/packages/aws-amplify/lib/Analytics/index.js.map +++ b/packages/aws-amplify/lib/Analytics/index.js.map @@ -1 +1 @@ -{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/Analytics/index.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/Analytics/index.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/packages/aws-amplify/lib/Auth/Auth.d.ts b/packages/aws-amplify/lib/Auth/Auth.d.ts index 026324f09cd..6af05e9de88 100644 --- a/packages/aws-amplify/lib/Auth/Auth.d.ts +++ b/packages/aws-amplify/lib/Auth/Auth.d.ts @@ -1,4 +1,4 @@ -import { AuthOptions } from './types'; +import { AuthOptions, FederatedResponse } from './types'; /** * Provide authentication steps */ @@ -6,9 +6,13 @@ export default class AuthClass { private _config; private _userPoolStorageSync; private userPool; + private _cognitoAuthClient; private credentials; private credentials_source; private user; + private _refreshHandlers; + private _gettingCredPromise; + private _signedInWith; /** * Initialize Auth with AWS configurations * @param {Object} config - Configuration of the Auth @@ -134,6 +138,7 @@ export default class AuthClass { * @return - A promise resolves to be current user's credentials */ currentUserCredentials(): Promise; + private _refreshFederatedToken(federatedInfo); currentCredentials(): Promise; /** * Initiate an attribute confirmation request @@ -191,13 +196,15 @@ export default class AuthClass { * @return {Object }- current User's information */ currentUserInfo(): Promise; + cognitoHostedUISignIn(): void; /** * For federated login * @param {String} provider - federation login provider - * @param {Object} response - response including access_token + * @param {FederatedResponse} response - response should have the access token + * and the expiration time (the universal time) * @param {String} user - user info */ - federatedSignIn(provider: any, response: any, user: any): Promise; + federatedSignIn(provider: string, response: FederatedResponse, user: object): Promise<{}>; /** * Compact version of credentials * @param {Object} credentials @@ -211,11 +218,13 @@ export default class AuthClass { authenticated: any; }; private attributesToObject(attributes); - private setCredentialsFromFederation(provider, token, user); private pickupCredentials(); - private setCredentialsFromAWS(); - private setCredentialsForGuest(); - private setCredentialsFromSession(session); + private _setCredentialsFromAWS(); + private _setCredentialsForGuest(); + private _setCredentialsFromSession(session); + private _setCredentialsFromFederation(params); + private _loadCredentials(credentials, source, authenticated, rawUser); private keepAlive(); private createCognitoUser(username); + private _isExpired(credentials); } diff --git a/packages/aws-amplify/lib/Auth/Auth.js b/packages/aws-amplify/lib/Auth/Auth.js index 69a5866cfd7..268cdd61d43 100644 --- a/packages/aws-amplify/lib/Auth/Auth.js +++ b/packages/aws-amplify/lib/Auth/Auth.js @@ -51,7 +51,7 @@ var Common_1 = require("../Common"); var Platform_1 = require("../Common/Platform"); var Cache_1 = require("../Cache"); var logger = new Common_1.ConsoleLogger('AuthClass'); -var CognitoIdentityCredentials = Common_1.AWS.CognitoIdentityCredentials; +var CognitoIdentityCredentials = Common_1.AWS.CognitoIdentityCredentials, Credentials = Common_1.AWS.Credentials; var CookieStorage = Common_1.Cognito.CookieStorage, CognitoUserPool = Common_1.Cognito.CognitoUserPool, CognitoUserAttribute = Common_1.Cognito.CognitoUserAttribute, CognitoUser = Common_1.Cognito.CognitoUser, AuthenticationDetails = Common_1.Cognito.AuthenticationDetails; var dispatchAuthEvent = function (event, data) { Common_1.Hub.dispatch('auth', { event: event, data: data }, 'Auth'); @@ -66,10 +66,16 @@ var AuthClass = /** @class */ (function () { */ function AuthClass(config) { this.userPool = null; + this._cognitoAuthClient = null; this.credentials = null; this.credentials_source = ''; // aws, guest, userPool, federated this.user = null; + this._refreshHandlers = {}; + this._gettingCredPromise = null; this.configure(config); + // refresh token + this._refreshHandlers['google'] = Common_1.GoogleOAuth.refreshGoogleToken; + this._refreshHandlers['facebook'] = Common_1.FacebookOAuth.refreshFacebookToken; if (Common_1.AWS.config) { Common_1.AWS.config.update({ customUserAgent: Common_1.Constants.userAgent }); } @@ -79,22 +85,15 @@ var AuthClass = /** @class */ (function () { } AuthClass.prototype.configure = function (config) { var _this = this; + if (!config) + return this._config; logger.debug('configure Auth'); - var conf = config ? config.Auth || config : {}; - if (conf['aws_cognito_identity_pool_id']) { - conf = { - userPoolId: conf['aws_user_pools_id'], - userPoolWebClientId: conf['aws_user_pools_web_client_id'], - region: conf['aws_cognito_region'], - identityPoolId: conf['aws_cognito_identity_pool_id'], - mandatorySignIn: conf['aws_mandatory_sign_in'] === 'enable' ? true : false - }; - } - this._config = Object.assign({}, this._config, conf); + var conf = Object.assign({}, this._config, Common_1.Parser.parseMobilehubConfig(config).Auth); + this._config = conf; if (!this._config.identityPoolId) { logger.debug('Do not have identityPoolId yet.'); } - var _a = this._config, userPoolId = _a.userPoolId, userPoolWebClientId = _a.userPoolWebClientId, cookieStorage = _a.cookieStorage; + var _a = this._config, userPoolId = _a.userPoolId, userPoolWebClientId = _a.userPoolWebClientId, cookieStorage = _a.cookieStorage, hostedUIOptions = _a.hostedUIOptions; if (userPoolId) { var userPoolData = { UserPoolId: userPoolId, @@ -117,10 +116,27 @@ var AuthClass = /** @class */ (function () { }); }); } - else { - this.pickupCredentials(); - } } + // initiailize cognitoauth client if hosted ui options provided + if (hostedUIOptions) { + var cognitoAuthParams = Object.assign({ + ClientId: userPoolWebClientId, + UserPoolId: userPoolId + }, hostedUIOptions); + this._cognitoAuthClient = new Common_1.CognitoHostedUI.CognitoAuth(cognitoAuthParams); + this._cognitoAuthClient.userhandler = { + onSuccess: function (result) { + logger.debug("Cognito Hosted authentication result", result); + }, + onFailure: function (err) { + logger.debug("Error in cognito hosted auth response", err); + } + }; + var curUrl = window.location.href; + this._cognitoAuthClient.parseCognitoWebResponse(curUrl); + logger.debug('hostedUIOptions configured'); + } + dispatchAuthEvent('configured', null); return this._config; }; /** @@ -266,10 +282,14 @@ var AuthClass = /** @class */ (function () { user.authenticateUser(authDetails, { onSuccess: function (session) { logger.debug(session); - that.setCredentialsFromSession(session); - that.user = user; - dispatchAuthEvent('signIn', user); - resolve(user); + that._setCredentialsFromSession(session).then(function (cred) { + that.user = user; + dispatchAuthEvent('signIn', user); + resolve(user); + }).catch(function (e) { + logger.debug('cannot get cognito credentials'); + reject('signin failed'); + }); }, onFailure: function (err) { logger.debug('signIn failure', err); @@ -494,10 +514,14 @@ var AuthClass = /** @class */ (function () { user.sendMFACode(code, { onSuccess: function (session) { logger.debug(session); - that.setCredentialsFromSession(session); - that.user = user; - dispatchAuthEvent('signIn', user); - resolve(user); + that._setCredentialsFromSession(session).then(function (cred) { + that.user = user; + dispatchAuthEvent('signIn', user); + resolve(user); + }).catch(function (e) { + logger.debug('cannot get cognito credentials'); + reject('signin failed'); + }); }, onFailure: function (err) { logger.debug('confirm signIn failure', err); @@ -515,10 +539,14 @@ var AuthClass = /** @class */ (function () { user.completeNewPasswordChallenge(password, requiredAttributes, { onSuccess: function (session) { logger.debug(session); - that.setCredentialsFromSession(session); - that.user = user; - dispatchAuthEvent('signIn', user); - resolve(user); + that._setCredentialsFromSession(session).then(function (cred) { + that.user = user; + dispatchAuthEvent('signIn', user); + resolve(user); + }).catch(function (e) { + logger.debug('cannot get cognito credentials'); + reject('signin failed'); + }); }, onFailure: function (err) { logger.debug('completeNewPassword failure', err); @@ -678,15 +706,45 @@ var AuthClass = /** @class */ (function () { * @return - A promise resolves to curret authenticated CognitoUser if success */ AuthClass.prototype.currentAuthenticatedUser = function () { - var source = this.credentials_source; - logger.debug('get current authenticated user. source ' + source); - if (!source || source === 'aws' || source === 'userPool') { - return this.currentUserPoolUser(); - } - if (source === 'federated') { - return Promise.resolve(this.user); - } - return Promise.reject('not authenticated'); + return __awaiter(this, void 0, void 0, function () { + var federatedUser, e_1, _a, e_2; + return __generator(this, function (_b) { + switch (_b.label) { + case 0: + federatedUser = null; + _b.label = 1; + case 1: + _b.trys.push([1, 3, , 4]); + return [4 /*yield*/, Cache_1.default.getItem('federatedUser')]; + case 2: + federatedUser = _b.sent(); + return [3 /*break*/, 4]; + case 3: + e_1 = _b.sent(); + logger.debug('cannot load federated user from cache'); + return [3 /*break*/, 4]; + case 4: + if (!federatedUser) return [3 /*break*/, 5]; + this.user = federatedUser; + logger.debug('get current authenticated federated user', this.user); + return [2 /*return*/, this.user]; + case 5: + logger.debug('get current authenticated userpool user'); + _b.label = 6; + case 6: + _b.trys.push([6, 8, , 9]); + _a = this; + return [4 /*yield*/, this.currentUserPoolUser()]; + case 7: + _a.user = _b.sent(); + return [2 /*return*/, this.user]; + case 8: + e_2 = _b.sent(); + return [2 /*return*/, Promise.reject('not authenticated')]; + case 9: return [2 /*return*/]; + } + }); + }); }; /** * Get current user's session @@ -695,6 +753,7 @@ var AuthClass = /** @class */ (function () { AuthClass.prototype.currentSession = function () { var user; var that = this; + logger.debug('getting current session'); if (!this.userPool) { return Promise.reject('No userPool'); } @@ -738,46 +797,77 @@ var AuthClass = /** @class */ (function () { */ AuthClass.prototype.currentUserCredentials = function () { var _this = this; + var that = this; + logger.debug('getting current user credentials'); if (Platform_1.default.isReactNative) { // asyncstorage - var that_1 = this; return Cache_1.default.getItem('federatedInfo') .then(function (federatedInfo) { if (federatedInfo) { - var provider_1 = federatedInfo.provider, token_1 = federatedInfo.token, user_1 = federatedInfo.user; - return new Promise(function (resolve, reject) { - that_1.setCredentialsFromFederation(provider_1, token_1, user_1); - resolve(); - }); + // refresh the jwt token here if necessary + return that._refreshFederatedToken(federatedInfo); } else { - return that_1.currentSession() - .then(function (session) { return that_1.setCredentialsFromSession(session); }) - .catch(function (error) { return that_1.setCredentialsForGuest(); }); + return that.currentSession() + .then(function (session) { + return that._setCredentialsFromSession(session); + }).catch(function (error) { + return that._setCredentialsForGuest(); + }); } }).catch(function (error) { - return new Promise(function (resolve, reject) { - reject(error); - }); + return Promise.reject(error); }); } else { // first to check whether there is federation info in the local storage var federatedInfo = Cache_1.default.getItem('federatedInfo'); if (federatedInfo) { - var provider_2 = federatedInfo.provider, token_2 = federatedInfo.token, user_2 = federatedInfo.user; - return new Promise(function (resolve, reject) { - _this.setCredentialsFromFederation(provider_2, token_2, user_2); - resolve(); - }); + // refresh the jwt token here if necessary + return this._refreshFederatedToken(federatedInfo); } else { return this.currentSession() - .then(function (session) { return _this.setCredentialsFromSession(session); }) - .catch(function (error) { return _this.setCredentialsForGuest(); }); + .then(function (session) { + logger.debug('getting session success', session); + return _this._setCredentialsFromSession(session); + }).catch(function (error) { + logger.debug('getting session failed', error); + return _this._setCredentialsForGuest(); + }); } } }; + AuthClass.prototype._refreshFederatedToken = function (federatedInfo) { + var provider = federatedInfo.provider, user = federatedInfo.user; + var token = federatedInfo.token; + var expires_at = federatedInfo.expires_at; + var that = this; + logger.debug('checking if federated jwt token expired'); + if (expires_at < new Date().getTime() + && typeof that._refreshHandlers[provider] === 'function') { + logger.debug('getting refreshed jwt token from federation provider'); + return that._refreshHandlers[provider]().then(function (data) { + logger.debug('refresh federated token sucessfully', data); + token = data.token; + expires_at = data.expires_at; + // Cache.setItem('federatedInfo', { provider, token, user, expires_at }, { priority: 1 }); + return that._setCredentialsFromFederation({ provider: provider, token: token, user: user, expires_at: expires_at }); + }).catch(function (e) { + logger.debug('refresh federated token failed', e); + return Promise.reject(e); + }); + } + else { + if (!that._refreshHandlers[provider]) { + logger.debug('no refresh hanlder for provider:', provider); + } + else { + logger.debug('token not expired'); + } + return this._setCredentialsFromFederation({ provider: provider, token: token, user: user, expires_at: expires_at }); + } + }; AuthClass.prototype.currentCredentials = function () { return this.pickupCredentials(); }; @@ -836,10 +926,10 @@ var AuthClass = /** @class */ (function () { AuthClass.prototype.signOut = function () { return __awaiter(this, void 0, void 0, function () { var _this = this; - var source, user; + var source, user, that; return __generator(this, function (_a) { switch (_a.label) { - case 0: return [4 /*yield*/, this.currentUserCredentials()]; + case 0: return [4 /*yield*/, this.currentCredentials()]; case 1: _a.sent(); source = this.credentials_source; @@ -847,6 +937,7 @@ var AuthClass = /** @class */ (function () { this.credentials.clearCachedId(); // clear federatedInfo Cache_1.default.removeItem('federatedInfo'); + Cache_1.default.removeItem('federatedUser'); if (source === 'aws' || source === 'userPool') { if (!this.userPool) { return [2 /*return*/, Promise.reject('No userPool')]; @@ -855,13 +946,21 @@ var AuthClass = /** @class */ (function () { if (!user) { return [2 /*return*/, Promise.resolve()]; } + logger.debug('user sign out', user); user.signOut(); + if (this._cognitoAuthClient) { + this._cognitoAuthClient.signOut(); + } } + that = this; return [2 /*return*/, new Promise(function (resolve, reject) { - _this.setCredentialsForGuest(); - dispatchAuthEvent('signOut', _this.user); - _this.user = null; - resolve(); + that._setCredentialsForGuest().then(function (cred) { + dispatchAuthEvent('signOut', _this.user); + that.user = null; + resolve(); + }).catch(function (e) { + reject('cannot get guest credentials'); + }); })]; } }); @@ -991,20 +1090,28 @@ var AuthClass = /** @class */ (function () { }); }); }; + AuthClass.prototype.cognitoHostedUISignIn = function () { + }; /** * For federated login * @param {String} provider - federation login provider - * @param {Object} response - response including access_token + * @param {FederatedResponse} response - response should have the access token + * and the expiration time (the universal time) * @param {String} user - user info */ AuthClass.prototype.federatedSignIn = function (provider, response, user) { + var _this = this; var token = response.token, expires_at = response.expires_at; - this.setCredentialsFromFederation(provider, token, user); - // store it into localstorage - Cache_1.default.setItem('federatedInfo', { provider: provider, token: token, user: user }, { priority: 1 }); - dispatchAuthEvent('signIn', this.user); - logger.debug('federated sign in credentials', this.credentials); - return this.keepAlive(); + var that = this; + return new Promise(function (res, rej) { + that._setCredentialsFromFederation({ provider: provider, token: token, user: user, expires_at: expires_at }).then(function (cred) { + dispatchAuthEvent('signIn', that.user); + logger.debug('federated sign in credentials', _this.credentials); + res(cred); + }).catch(function (e) { + rej(e); + }); + }); }; /** * Compact version of credentials @@ -1039,127 +1146,116 @@ var AuthClass = /** @class */ (function () { } return obj; }; - AuthClass.prototype.setCredentialsFromFederation = function (provider, token, user) { - var domains = { - 'google': 'accounts.google.com', - 'facebook': 'graph.facebook.com', - 'amazon': 'www.amazon.com', - 'developer': 'cognito-identity.amazonaws.com' - }; - var domain = domains[provider]; - if (!domain) { - return Promise.reject(provider + ' is not supported: [google, facebook, amazon, developer]'); + AuthClass.prototype.pickupCredentials = function () { + logger.debug('picking up credentials'); + if (!this._gettingCredPromise || !this._gettingCredPromise.isPending()) { + logger.debug('getting new cred promise'); + if (Common_1.AWS.config && Common_1.AWS.config.credentials && Common_1.AWS.config.credentials instanceof Credentials) { + this._gettingCredPromise = Common_1.JS.makeQuerablePromise(this._setCredentialsFromAWS()); + } + else { + this._gettingCredPromise = Common_1.JS.makeQuerablePromise(this.keepAlive()); + } } - var logins = {}; - logins[domain] = token; - var _a = this._config, identityPoolId = _a.identityPoolId, region = _a.region; - this.credentials = new Common_1.AWS.CognitoIdentityCredentials({ - IdentityPoolId: identityPoolId, - Logins: logins - }, { - region: region - }); - this.credentials.authenticated = true; - this.credentials_source = 'federated'; - this.user = Object.assign({ id: this.credentials.identityId }, user); - if (Common_1.AWS && Common_1.AWS.config) { - Common_1.AWS.config.credentials = this.credentials; + else { + logger.debug('getting old cred promise'); } + return this._gettingCredPromise; }; - AuthClass.prototype.pickupCredentials = function () { + AuthClass.prototype._setCredentialsFromAWS = function () { + var credentials = Common_1.AWS.config.credentials; + logger.debug('setting credentials from aws'); var that = this; - if (this.credentials) { - return this.keepAlive(); - } - else if (this.setCredentialsFromAWS()) { - return this.keepAlive(); + if (credentials instanceof Credentials) { + return this._loadCredentials(credentials, 'aws', undefined, null); } else { - return this.currentUserCredentials() - .then(function () { - if (that.credentials_source === 'no credentials') { - return Promise.resolve(null); - } - return that.keepAlive(); - }) - .catch(function (err) { - logger.debug('error when pickup', err); - that.setCredentialsForGuest(); - return that.keepAlive(); - }); + logger.debug('AWS.config.credentials is not an instance of AWS Credentials'); + return Promise.reject('AWS.config.credentials is not an instance of AWS Credentials'); } }; - AuthClass.prototype.setCredentialsFromAWS = function () { - if (Common_1.AWS.config && Common_1.AWS.config.credentials) { - this.credentials = Common_1.AWS.config.credentials; - this.credentials_source = 'aws'; - return true; - } - return false; - }; - AuthClass.prototype.setCredentialsForGuest = function () { + AuthClass.prototype._setCredentialsForGuest = function () { + logger.debug('setting credentials for guest'); var _a = this._config, identityPoolId = _a.identityPoolId, region = _a.region, mandatorySignIn = _a.mandatorySignIn; if (mandatorySignIn) { - this.credentials = null; - this.credentials_source = 'no credentials'; - return; + return Promise.reject('cannot get guest credentials when mandatory signin enabled'); } var credentials = new CognitoIdentityCredentials({ IdentityPoolId: identityPoolId }, { region: region }); - credentials.params['IdentityId'] = null; // Cognito load IdentityId from local cache - this.credentials = credentials; - this.credentials.authenticated = false; - this.credentials_source = 'guest'; + var that = this; + return this._loadCredentials(credentials, 'guest', false, null); }; - AuthClass.prototype.setCredentialsFromSession = function (session) { + AuthClass.prototype._setCredentialsFromSession = function (session) { logger.debug('set credentials from session'); var idToken = session.getIdToken().getJwtToken(); var _a = this._config, region = _a.region, userPoolId = _a.userPoolId, identityPoolId = _a.identityPoolId; var key = 'cognito-idp.' + region + '.amazonaws.com/' + userPoolId; var logins = {}; logins[key] = idToken; - this.credentials = new CognitoIdentityCredentials({ + var credentials = new CognitoIdentityCredentials({ IdentityPoolId: identityPoolId, Logins: logins }, { region: region }); - this.credentials.authenticated = true; - this.credentials_source = 'userPool'; + var that = this; + return this._loadCredentials(credentials, 'userPool', true, null); }; - AuthClass.prototype.keepAlive = function () { - if (!this.credentials) { - this.setCredentialsForGuest(); - } - var ts = new Date().getTime(); - var delta = 10 * 60 * 1000; // 10 minutes - var credentials = this.credentials; - var expired = credentials.expired, expireTime = credentials.expireTime; - if (!expired && expireTime > ts + delta) { - return Promise.resolve(credentials); + AuthClass.prototype._setCredentialsFromFederation = function (params) { + var provider = params.provider, token = params.token, user = params.user, expires_at = params.expires_at; + var domains = { + 'google': 'accounts.google.com', + 'facebook': 'graph.facebook.com', + 'amazon': 'www.amazon.com', + 'developer': 'cognito-identity.amazonaws.com' + }; + var domain = domains[provider]; + if (!domain) { + return Promise.reject(provider + ' is not supported: [google, facebook, amazon, developer]'); } + var logins = {}; + logins[domain] = token; + var _a = this._config, identityPoolId = _a.identityPoolId, region = _a.region; + var credentials = new Common_1.AWS.CognitoIdentityCredentials({ + IdentityPoolId: identityPoolId, + Logins: logins + }, { + region: region + }); + Cache_1.default.setItem('federatedInfo', { provider: provider, token: token, user: user, expires_at: expires_at }, { priority: 1 }); + return this._loadCredentials(credentials, 'federated', true, user); + }; + AuthClass.prototype._loadCredentials = function (credentials, source, authenticated, rawUser) { + var _this = this; var that = this; - return new Promise(function (resolve, reject) { - that.currentUserCredentials() - .then(function () { - credentials = that.credentials; - credentials.refresh(function (err) { - logger.debug('changed from previous'); - if (err) { - logger.debug('refresh credentials error', err); - resolve(null); - } - else { - resolve(credentials); - } - }); - }) - .catch(function () { return resolve(null); }); + return new Promise(function (res, rej) { + credentials.getPromise().then(function () { + logger.debug('Load credentials successfully', credentials); + that.credentials = credentials; + that.credentials.authenticated = authenticated; + that.credentials_source = source; + if (source === 'federated') { + that.user = Object.assign({ id: _this.credentials.identityId }, rawUser); + Cache_1.default.setItem('federatedUser', that.user, { priority: 1 }); + } + res(that.credentials); + }, function (err) { + logger.debug('Failed to load credentials', credentials); + rej('Failed to load creadentials'); + }); }); }; + AuthClass.prototype.keepAlive = function () { + var cred = this.credentials; + if (cred && !this._isExpired(cred)) { + logger.debug('not changed, directly return credentials'); + return Promise.resolve(cred); + } + return this.currentUserCredentials(); + }; AuthClass.prototype.createCognitoUser = function (username) { var userData = { Username: username, @@ -1171,6 +1267,20 @@ var AuthClass = /** @class */ (function () { } return new CognitoUser(userData); }; + AuthClass.prototype._isExpired = function (credentials) { + if (!credentials) { + logger.debug('no credentials for expiration check'); + return true; + } + logger.debug('is this credentials expired?', credentials); + var ts = new Date().getTime(); + var delta = 10 * 60 * 1000; // 10 minutes + var expired = credentials.expired, expireTime = credentials.expireTime; + if (!expired && expireTime > ts + delta) { + return false; + } + return true; + }; return AuthClass; }()); exports.default = AuthClass; diff --git a/packages/aws-amplify/lib/Auth/Auth.js.map b/packages/aws-amplify/lib/Auth/Auth.js.map index db0775bab95..d9294cd37f6 100644 --- a/packages/aws-amplify/lib/Auth/Auth.js.map +++ b/packages/aws-amplify/lib/Auth/Auth.js.map @@ -1 +1 @@ -{"version":3,"file":"Auth.js","sourceRoot":"","sources":["../../src/Auth/Auth.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"Auth.js","sourceRoot":"","sources":["../../src/Auth/Auth.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/packages/aws-amplify/lib/Auth/types/Auth.d.ts b/packages/aws-amplify/lib/Auth/types/Auth.d.ts index 495b5f44665..bb21024beed 100644 --- a/packages/aws-amplify/lib/Auth/types/Auth.d.ts +++ b/packages/aws-amplify/lib/Auth/types/Auth.d.ts @@ -17,6 +17,7 @@ export interface AuthOptions { region?: string; mandatorySignIn: boolean; cookieStorage?: ICookieStorageData; + hostedUIOptions?: object; } /** * Details for multi-factor authentication @@ -25,3 +26,10 @@ export interface MfaRequiredDetails { challengeName: any; challengeParameters: any; } +/** + * interface for federatedResponse + */ +export interface FederatedResponse { + token: string; + expires_at: number; +} diff --git a/packages/aws-amplify/lib/Common/Facet.d.ts b/packages/aws-amplify/lib/Common/Facet.d.ts index d487d072740..6de49753f9b 100644 --- a/packages/aws-amplify/lib/Common/Facet.d.ts +++ b/packages/aws-amplify/lib/Common/Facet.d.ts @@ -3,4 +3,5 @@ import * as AWS from 'aws-sdk/global'; import * as Cognito from 'amazon-cognito-identity-js'; import * as Pinpoint from 'aws-sdk/clients/pinpoint'; import * as MobileAnalytics from 'aws-sdk/clients/mobileanalytics'; -export { AWS, S3, Cognito, Pinpoint, MobileAnalytics }; +import * as CognitoHostedUI from 'amazon-cognito-auth-js'; +export { AWS, S3, Cognito, Pinpoint, MobileAnalytics, CognitoHostedUI }; diff --git a/packages/aws-amplify/lib/Common/Facet.js b/packages/aws-amplify/lib/Common/Facet.js index b3b19dc3a68..97211ea0ba0 100644 --- a/packages/aws-amplify/lib/Common/Facet.js +++ b/packages/aws-amplify/lib/Common/Facet.js @@ -23,4 +23,6 @@ var Pinpoint = require("aws-sdk/clients/pinpoint"); exports.Pinpoint = Pinpoint; var MobileAnalytics = require("aws-sdk/clients/mobileanalytics"); exports.MobileAnalytics = MobileAnalytics; +var CognitoHostedUI = require("amazon-cognito-auth-js"); +exports.CognitoHostedUI = CognitoHostedUI; //# sourceMappingURL=Facet.js.map \ No newline at end of file diff --git a/packages/aws-amplify/lib/Common/Facet.js.map b/packages/aws-amplify/lib/Common/Facet.js.map index a05a01bf19b..9423808e51d 100644 --- a/packages/aws-amplify/lib/Common/Facet.js.map +++ b/packages/aws-amplify/lib/Common/Facet.js.map @@ -1 +1 @@ -{"version":3,"file":"Facet.js","sourceRoot":"","sources":["../../src/Common/Facet.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;GAWG;;AAEH,yCAAyC;AACzC,uCAAyC;AAM5B,gBAAE;AALf,oCAAsC;AAK9B,kBAAG;AAJX,oDAAsD;AAIrC,0BAAO;AAHxB,mDAAqD;AAG3B,4BAAQ;AAFlC,iEAAmE;AAE/B,0CAAe"} \ No newline at end of file +{"version":3,"file":"Facet.js","sourceRoot":"","sources":["../../src/Common/Facet.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;GAWG;;AAEH,yCAAyC;AACzC,uCAAyC;AAO5B,gBAAE;AANf,oCAAsC;AAM9B,kBAAG;AALX,oDAAsD;AAKrC,0BAAO;AAJxB,mDAAqD;AAI3B,4BAAQ;AAHlC,iEAAmE;AAG/B,0CAAe;AAFnD,wDAA0D;AAEL,0CAAe"} \ No newline at end of file diff --git a/packages/aws-amplify/lib/Common/JS.d.ts b/packages/aws-amplify/lib/Common/JS.d.ts index 4af24915197..b0ee0c6c22e 100644 --- a/packages/aws-amplify/lib/Common/JS.d.ts +++ b/packages/aws-amplify/lib/Common/JS.d.ts @@ -8,4 +8,5 @@ export default class JS { * generate random string */ static generateRandomString(): string; + static makeQuerablePromise(promise: any): any; } diff --git a/packages/aws-amplify/lib/Common/JS.js b/packages/aws-amplify/lib/Common/JS.js index 19555e5f812..0888daeb58d 100644 --- a/packages/aws-amplify/lib/Common/JS.js +++ b/packages/aws-amplify/lib/Common/JS.js @@ -116,6 +116,26 @@ var JS = /** @class */ (function () { } return result; }; + JS.makeQuerablePromise = function (promise) { + if (promise.isResolved) + return promise; + var isPending = true; + var isRejected = false; + var isFullfilled = false; + var result = promise.then(function (data) { + isFullfilled = true; + isPending = false; + return data; + }, function (e) { + isRejected = true; + isPending = false; + throw e; + }); + result.isFullfilled = function () { return isFullfilled; }; + result.isPending = function () { return isPending; }; + result.isRejected = function () { return isRejected; }; + return result; + }; return JS; }()); exports.default = JS; diff --git a/packages/aws-amplify/lib/Common/JS.js.map b/packages/aws-amplify/lib/Common/JS.js.map index 728367995c4..51682fbddf8 100644 --- a/packages/aws-amplify/lib/Common/JS.js.map +++ b/packages/aws-amplify/lib/Common/JS.js.map @@ -1 +1 @@ -{"version":3,"file":"JS.js","sourceRoot":"","sources":["../../src/Common/JS.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"JS.js","sourceRoot":"","sources":["../../src/Common/JS.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/packages/aws-amplify/lib/Common/Logger/ConsoleLogger.js b/packages/aws-amplify/lib/Common/Logger/ConsoleLogger.js index d6f0a9908eb..a2117aae4ee 100644 --- a/packages/aws-amplify/lib/Common/Logger/ConsoleLogger.js +++ b/packages/aws-amplify/lib/Common/Logger/ConsoleLogger.js @@ -68,10 +68,10 @@ var ConsoleLogger = /** @class */ (function () { // Do nothing if type is not greater than or equal to logger level (handle undefined) return; } - var log = console.log; - // if (type === 'ERROR' && console.error) { log = console.error; } + var log = console.log.bind(console); + // if (type === 'ERROR' && console.error) { log = console.error.bind(console); } if (type === 'WARN' && console.warn) { - log = console.warn; + log = console.warn.bind(console); } if (msg.length === 1 && typeof msg[0] === 'string') { var output = [ diff --git a/packages/aws-amplify/lib/Common/Logger/ConsoleLogger.js.map b/packages/aws-amplify/lib/Common/Logger/ConsoleLogger.js.map index 8772759d71d..d9fa86a7657 100644 --- a/packages/aws-amplify/lib/Common/Logger/ConsoleLogger.js.map +++ b/packages/aws-amplify/lib/Common/Logger/ConsoleLogger.js.map @@ -1 +1 @@ -{"version":3,"file":"ConsoleLogger.js","sourceRoot":"","sources":["../../../src/Common/Logger/ConsoleLogger.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"ConsoleLogger.js","sourceRoot":"","sources":["../../../src/Common/Logger/ConsoleLogger.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/packages/aws-amplify/lib/Common/Parser.js b/packages/aws-amplify/lib/Common/Parser.js index b198fd43015..2138f98e4e1 100644 --- a/packages/aws-amplify/lib/Common/Parser.js +++ b/packages/aws-amplify/lib/Common/Parser.js @@ -1,5 +1,7 @@ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); +var Common_1 = require("../Common"); +var logger = new Common_1.ConsoleLogger('Parser'); var Parser = /** @class */ (function () { function Parser() { } @@ -7,12 +9,26 @@ var Parser = /** @class */ (function () { var amplifyConfig = {}; // Analytics if (config['aws_mobile_analytics_app_id']) { - var Analytics = {}; - Analytics['appId'] = config['aws_mobile_analytics_app_id']; - Analytics['region'] = config['aws_mobile_analytics_app_region']; + var Analytics = { + appId: config['aws_mobile_analytics_app_id'], + region: config['aws_mobile_analytics_app_region'] + }; amplifyConfig.Analytics = Analytics; } + // Auth + if (config['aws_cognito_identity_pool_id']) { + var Auth = { + userPoolId: config['aws_user_pools_id'], + userPoolWebClientId: config['aws_user_pools_web_client_id'], + region: config['aws_cognito_region'], + identityPoolId: config['aws_cognito_identity_pool_id'], + mandatorySignIn: config['aws_mandatory_sign_in'] === 'enable' ? true : false + }; + amplifyConfig.Auth = Auth; + } amplifyConfig.Analytics = Object.assign({}, amplifyConfig.Analytics, config.Analytics); + amplifyConfig.Auth = Object.assign({}, amplifyConfig.Auth, config.Auth); + logger.debug('parse config', config, 'to amplifyconfig', amplifyConfig); return amplifyConfig; }; return Parser; diff --git a/packages/aws-amplify/lib/Common/Parser.js.map b/packages/aws-amplify/lib/Common/Parser.js.map index c445b1acb6b..699b1ceb9d0 100644 --- a/packages/aws-amplify/lib/Common/Parser.js.map +++ b/packages/aws-amplify/lib/Common/Parser.js.map @@ -1 +1 @@ -{"version":3,"file":"Parser.js","sourceRoot":"","sources":["../../src/Common/Parser.ts"],"names":[],"mappings":";;AAEA;IAAA;IAcA,CAAC;IAbU,2BAAoB,GAA3B,UAA4B,MAAM;QAC9B,IAAM,aAAa,GAAkB,EAAE,CAAC;QACxC,YAAY;QACZ,EAAE,CAAC,CAAC,MAAM,CAAC,6BAA6B,CAAC,CAAC,CAAC,CAAC;YACxC,IAAM,SAAS,GAAG,EAAE,CAAC;YACrB,SAAS,CAAC,OAAO,CAAC,GAAG,MAAM,CAAC,6BAA6B,CAAC,CAAC;YAC3D,SAAS,CAAC,QAAQ,CAAC,GAAG,MAAM,CAAC,iCAAiC,CAAC,CAAC;YAChE,aAAa,CAAC,SAAS,GAAG,SAAS,CAAC;QACxC,CAAC;QAED,aAAa,CAAC,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,aAAa,CAAC,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;QACvF,MAAM,CAAC,aAAa,CAAC;IACzB,CAAC;IACL,aAAC;AAAD,CAAC,AAdD,IAcC"} \ No newline at end of file +{"version":3,"file":"Parser.js","sourceRoot":"","sources":["../../src/Common/Parser.ts"],"names":[],"mappings":";;AACA,oCAAoD;AAEpD,IAAM,MAAM,GAAG,IAAI,sBAAM,CAAC,QAAQ,CAAC,CAAC;AAEpC;IAAA;IA6BA,CAAC;IA5BU,2BAAoB,GAA3B,UAA4B,MAAM;QAC9B,IAAM,aAAa,GAAkB,EAAE,CAAC;QACxC,YAAY;QACZ,EAAE,CAAC,CAAC,MAAM,CAAC,6BAA6B,CAAC,CAAC,CAAC,CAAC;YACxC,IAAM,SAAS,GAAG;gBACd,KAAK,EAAE,MAAM,CAAC,6BAA6B,CAAC;gBAC5C,MAAM,EAAE,MAAM,CAAC,iCAAiC,CAAC;aACpD,CAAC;YACF,aAAa,CAAC,SAAS,GAAG,SAAS,CAAC;QACxC,CAAC;QAED,OAAO;QACP,EAAE,CAAC,CAAC,MAAM,CAAC,8BAA8B,CAAC,CAAC,CAAC,CAAC;YACzC,IAAM,IAAI,GAAG;gBACT,UAAU,EAAE,MAAM,CAAC,mBAAmB,CAAC;gBACvC,mBAAmB,EAAE,MAAM,CAAC,8BAA8B,CAAC;gBAC3D,MAAM,EAAE,MAAM,CAAC,oBAAoB,CAAC;gBACpC,cAAc,EAAE,MAAM,CAAC,8BAA8B,CAAC;gBACtD,eAAe,EAAE,MAAM,CAAC,uBAAuB,CAAC,KAAK,QAAQ,CAAA,CAAC,CAAC,IAAI,CAAA,CAAC,CAAC,KAAK;aAC7E,CAAC;YACF,aAAa,CAAC,IAAI,GAAG,IAAI,CAAC;QAC9B,CAAC;QAED,aAAa,CAAC,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,aAAa,CAAC,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;QACvF,aAAa,CAAC,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,aAAa,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;QACxE,MAAM,CAAC,KAAK,CAAC,cAAc,EAAE,MAAM,EAAE,kBAAkB,EAAE,aAAa,CAAC,CAAC;QACxE,MAAM,CAAC,aAAa,CAAC;IACzB,CAAC;IACL,aAAC;AAAD,CAAC,AA7BD,IA6BC"} \ No newline at end of file diff --git a/packages/aws-amplify/lib/Common/index.d.ts b/packages/aws-amplify/lib/Common/index.d.ts index bf703f06b1d..4324b843e8e 100644 --- a/packages/aws-amplify/lib/Common/index.d.ts +++ b/packages/aws-amplify/lib/Common/index.d.ts @@ -6,6 +6,7 @@ export { default as Hub } from './Hub'; export { default as JS } from './JS'; export { default as Signer } from './Signer'; export { default as Parser } from './Parser'; +export { FacebookOAuth, GoogleOAuth } from './OAuthHelper'; export * from './RNComponents'; export declare const Constants: { 'userAgent': string; diff --git a/packages/aws-amplify/lib/Common/index.js b/packages/aws-amplify/lib/Common/index.js index 3306ecb24ac..17bf7148084 100644 --- a/packages/aws-amplify/lib/Common/index.js +++ b/packages/aws-amplify/lib/Common/index.js @@ -30,6 +30,9 @@ var Signer_1 = require("./Signer"); exports.Signer = Signer_1.default; var Parser_1 = require("./Parser"); exports.Parser = Parser_1.default; +var OAuthHelper_1 = require("./OAuthHelper"); +exports.FacebookOAuth = OAuthHelper_1.FacebookOAuth; +exports.GoogleOAuth = OAuthHelper_1.GoogleOAuth; __export(require("./RNComponents")); var Platform_1 = require("./Platform"); exports.Constants = { diff --git a/packages/aws-amplify/lib/Common/index.js.map b/packages/aws-amplify/lib/Common/index.js.map index 1cb0ca8a2ae..695781631c3 100644 --- a/packages/aws-amplify/lib/Common/index.js.map +++ b/packages/aws-amplify/lib/Common/index.js.map @@ -1 +1 @@ -{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/Common/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;GAWG;;;;;AAEH,iCAA8B;AAC9B,mCAAmD;AAEnD,6BAAwB;AACxB,+CAAyD;AAAhD,sCAAA,OAAO,CAAgB;AAChC,8BAAyB;AACzB,8BAAyB;AACzB,6BAAuC;AAA9B,oBAAA,OAAO,CAAO;AACvB,2BAAqC;AAA5B,kBAAA,OAAO,CAAM;AACtB,mCAA6C;AAApC,0BAAA,OAAO,CAAU;AAC1B,mCAA6C;AAApC,0BAAA,OAAO,CAAU;AAC1B,oCAA+B;AAE/B,uCAAkC;AACrB,QAAA,SAAS,GAAG;IACrB,WAAW,EAAE,kBAAQ,CAAC,SAAS;CAClC,CAAC;AAEF,IAAM,MAAM,GAAG,IAAI,sBAAM,CAAC,QAAQ,CAAC,CAAC;AAEpC,EAAE,CAAC,CAAC,WAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IACd,WAAG,CAAC,MAAM,CAAC,CAAC,SAAS,GAAG;QACpB,MAAM,CAAC,iBAAS,CAAC,SAAS,CAAC;IAC/B,CAAC,CAAC;AACN,CAAC;AAAC,IAAI,CAAC,EAAE,CAAC,CAAC,WAAG,CAAC,MAAM,CAAC,CAAC,CAAC;IACpB,WAAG,CAAC,MAAM,CAAC,MAAM,CAAC,EAAC,iBAAiB,EAAE,iBAAS,CAAC,SAAS,EAAC,CAAC,CAAC;AAChE,CAAC;AAAC,IAAI,CAAC,CAAC;IACJ,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;AACjC,CAAC"} \ No newline at end of file +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/Common/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;GAWG;;;;;AAEH,iCAA8B;AAC9B,mCAAmD;AAEnD,6BAAwB;AACxB,+CAAyD;AAAhD,sCAAA,OAAO,CAAgB;AAChC,8BAAyB;AACzB,8BAAyB;AACzB,6BAAuC;AAA9B,oBAAA,OAAO,CAAO;AACvB,2BAAqC;AAA5B,kBAAA,OAAO,CAAM;AACtB,mCAA6C;AAApC,0BAAA,OAAO,CAAU;AAC1B,mCAA6C;AAApC,0BAAA,OAAO,CAAU;AAC1B,6CAA2D;AAAlD,sCAAA,aAAa,CAAA;AAAE,oCAAA,WAAW,CAAA;AACnC,oCAA+B;AAE/B,uCAAkC;AACrB,QAAA,SAAS,GAAG;IACrB,WAAW,EAAE,kBAAQ,CAAC,SAAS;CAClC,CAAC;AAEF,IAAM,MAAM,GAAG,IAAI,sBAAM,CAAC,QAAQ,CAAC,CAAC;AAEpC,EAAE,CAAC,CAAC,WAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IACd,WAAG,CAAC,MAAM,CAAC,CAAC,SAAS,GAAG;QACpB,MAAM,CAAC,iBAAS,CAAC,SAAS,CAAC;IAC/B,CAAC,CAAC;AACN,CAAC;AAAC,IAAI,CAAC,EAAE,CAAC,CAAC,WAAG,CAAC,MAAM,CAAC,CAAC,CAAC;IACpB,WAAG,CAAC,MAAM,CAAC,MAAM,CAAC,EAAC,iBAAiB,EAAE,iBAAS,CAAC,SAAS,EAAC,CAAC,CAAC;AAChE,CAAC;AAAC,IAAI,CAAC,CAAC;IACJ,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;AACjC,CAAC"} \ No newline at end of file diff --git a/packages/aws-amplify/src/Auth/Auth.ts b/packages/aws-amplify/src/Auth/Auth.ts index b488bbf3af3..d774ae15075 100644 --- a/packages/aws-amplify/src/Auth/Auth.ts +++ b/packages/aws-amplify/src/Auth/Auth.ts @@ -16,12 +16,14 @@ import { AuthOptions, FederatedResponse } from './types'; import { AWS, Cognito, + CognitoHostedUI, ConsoleLogger as Logger, Constants, Hub, FacebookOAuth, GoogleOAuth, - JS + JS, + Parser } from '../Common'; import Platform from '../Common/Platform'; import Cache from '../Cache'; @@ -53,6 +55,7 @@ export default class AuthClass { private _config: AuthOptions; private _userPoolStorageSync: Promise; private userPool = null; + private _cognitoAuthClient = null; private credentials = null; private credentials_source = ''; // aws, guest, userPool, federated @@ -60,6 +63,7 @@ export default class AuthClass { private _refreshHandlers = {}; private _gettingCredPromise = null; + private _signedInWith /** * Initialize Auth with AWS configurations @@ -79,20 +83,13 @@ export default class AuthClass { } configure(config) { + if (!config) return this._config; logger.debug('configure Auth'); - let conf = config? config.Auth || config : {}; - if (conf['aws_cognito_identity_pool_id']) { - conf = { - userPoolId: conf['aws_user_pools_id'], - userPoolWebClientId: conf['aws_user_pools_web_client_id'], - region: conf['aws_cognito_region'], - identityPoolId: conf['aws_cognito_identity_pool_id'], - mandatorySignIn: conf['aws_mandatory_sign_in'] === 'enable'? true: false - }; - } - this._config = Object.assign({}, this._config, conf); + const conf = Object.assign({}, this._config, Parser.parseMobilehubConfig(config).Auth); + this._config = conf; + if (!this._config.identityPoolId) { logger.debug('Do not have identityPoolId yet.'); } - const { userPoolId, userPoolWebClientId, cookieStorage } = this._config; + const { userPoolId, userPoolWebClientId, cookieStorage, hostedUIOptions } = this._config; if (userPoolId) { const userPoolData: ICognitoUserPoolData = { UserPoolId: userPoolId, @@ -115,6 +112,30 @@ export default class AuthClass { }); } } + + // initiailize cognitoauth client if hosted ui options provided + if (hostedUIOptions) { + const cognitoAuthParams = Object.assign( + { + ClientId: userPoolWebClientId, + UserPoolId: userPoolId + }, + hostedUIOptions + ); + this._cognitoAuthClient = new CognitoHostedUI.CognitoAuth(cognitoAuthParams); + this._cognitoAuthClient.userhandler = { + onSuccess: (result) => { + logger.debug("Cognito Hosted authentication result", result); + }, + onFailure: (err) => { + logger.debug("Error in cognito hosted auth response", err); + } + }; + const curUrl = window.location.href; + this._cognitoAuthClient.parseCognitoWebResponse(curUrl); + logger.debug('hostedUIOptions configured'); + } + dispatchAuthEvent('configured', null); return this._config; } @@ -848,6 +869,9 @@ export default class AuthClass { if (!user) { return Promise.resolve(); } logger.debug('user sign out', user); user.signOut(); + if (this._cognitoAuthClient) { + this._cognitoAuthClient.signOut(); + } } const that = this; @@ -970,7 +994,10 @@ export default class AuthClass { } } - + public cognitoHostedUISignIn() { + + + } /** * For federated login @@ -979,54 +1006,18 @@ export default class AuthClass { * and the expiration time (the universal time) * @param {String} user - user info */ - public federatedSignIn(provider: string, response: FederatedResponse, user: object) { - if (provider === 'cognito') { - - try { - const cognitoAuthParams = Object.assign( - { - 'ClientId': this._config['userPoolWebClientId'], - 'UserPoolId': this._config['userPoolId'] - }, - this._config['cognitoAuth'] - ); - logger.debug('CognitoAuth params: ',cognitoAuthParams); - const curUrl = window.location.href; - this.cognitoAuth = new CognitoAuth.CognitoAuth(cognitoAuthParams); - return new Promise((resolve, reject) => { - that.cognitoAuth.userhandler = { - onSuccess: (result) => { - logger.debug("Cognito Hosted authentication result", result); - that.setCredentialsFromSession(result); - resolve(result); - }, - onFailure: (err) => { - logger.debug("Error in cognito hosted auth response", err); - reject(err); - } - }; - that.cognitoAuth.parseCognitoWebResponse(curUrl); - }); - } catch(error) { - logger.debug("Error parsing cognito hosted authentication response", error); - return Promise.reject(error); - } - - - } else { - const { token, expires_at } = response; - const that = this; - return new Promise((res, rej) => { - that._setCredentialsFromFederation({ provider, token, user, expires_at }).then((cred) => { - dispatchAuthEvent('signIn', that.user); - logger.debug('federated sign in credentials', this.credentials); - res(cred); - }).catch(e => { - rej(e); - }); +public federatedSignIn(provider: string, response: FederatedResponse, user: object) { + const { token, expires_at } = response; + const that = this; + return new Promise((res, rej) => { + that._setCredentialsFromFederation({ provider, token, user, expires_at }).then((cred) => { + dispatchAuthEvent('signIn', that.user); + logger.debug('federated sign in credentials', this.credentials); + res(cred); + }).catch(e => { + rej(e); }); - } - + }); } /** diff --git a/packages/aws-amplify/src/Auth/types/Auth.ts b/packages/aws-amplify/src/Auth/types/Auth.ts index dedbeb21fc3..ba5d293dac4 100644 --- a/packages/aws-amplify/src/Auth/types/Auth.ts +++ b/packages/aws-amplify/src/Auth/types/Auth.ts @@ -32,6 +32,7 @@ export interface AuthOptions { region?: string, mandatorySignIn: boolean cookieStorage?: ICookieStorageData, + hostedUIOptions?: object } /** diff --git a/packages/aws-amplify/src/Common/Facet.ts b/packages/aws-amplify/src/Common/Facet.ts index 5d602123267..b7359088f4a 100644 --- a/packages/aws-amplify/src/Common/Facet.ts +++ b/packages/aws-amplify/src/Common/Facet.ts @@ -17,6 +17,6 @@ import * as AWS from 'aws-sdk/global'; import * as Cognito from 'amazon-cognito-identity-js'; import * as Pinpoint from 'aws-sdk/clients/pinpoint'; import * as MobileAnalytics from 'aws-sdk/clients/mobileanalytics'; -import * as CognitoAuth from 'amazon-cognito-auth-js'; +import * as CognitoHostedUI from 'amazon-cognito-auth-js'; -export {AWS, S3, Cognito, Pinpoint, MobileAnalytics, CognitoAuth }; +export {AWS, S3, Cognito, Pinpoint, MobileAnalytics, CognitoHostedUI }; diff --git a/packages/aws-amplify/src/Common/Parser.ts b/packages/aws-amplify/src/Common/Parser.ts index eaec3815024..2440cf32538 100644 --- a/packages/aws-amplify/src/Common/Parser.ts +++ b/packages/aws-amplify/src/Common/Parser.ts @@ -1,17 +1,35 @@ import { AmplifyConfig } from './types'; +import { ConsoleLogger as Logger } from '../Common'; + +const logger = new Logger('Parser'); export default class Parser { static parseMobilehubConfig(config): AmplifyConfig { const amplifyConfig: AmplifyConfig = {}; // Analytics if (config['aws_mobile_analytics_app_id']) { - const Analytics = {}; - Analytics['appId'] = config['aws_mobile_analytics_app_id']; - Analytics['region'] = config['aws_mobile_analytics_app_region']; + const Analytics = { + appId: config['aws_mobile_analytics_app_id'], + region: config['aws_mobile_analytics_app_region'] + }; amplifyConfig.Analytics = Analytics; } + // Auth + if (config['aws_cognito_identity_pool_id']) { + const Auth = { + userPoolId: config['aws_user_pools_id'], + userPoolWebClientId: config['aws_user_pools_web_client_id'], + region: config['aws_cognito_region'], + identityPoolId: config['aws_cognito_identity_pool_id'], + mandatorySignIn: config['aws_mandatory_sign_in'] === 'enable'? true: false + }; + amplifyConfig.Auth = Auth; + } + amplifyConfig.Analytics = Object.assign({}, amplifyConfig.Analytics, config.Analytics); + amplifyConfig.Auth = Object.assign({}, amplifyConfig.Auth, config.Auth); + logger.debug('parse config', config, 'to amplifyconfig', amplifyConfig); return amplifyConfig; } } From ebcbb770c0e111a678a0c996033a7033f249e48e Mon Sep 17 00:00:00 2001 From: powerful23 Date: Thu, 29 Mar 2018 11:22:03 -0700 Subject: [PATCH 04/22] mionr change --- packages/aws-amplify/lib/Auth/Auth.d.ts | 3 - packages/aws-amplify/lib/Auth/Auth.js | 88 ++--------------------- packages/aws-amplify/lib/Auth/Auth.js.map | 6 +- packages/aws-amplify/src/Auth/Auth.ts | 5 +- 4 files changed, 11 insertions(+), 91 deletions(-) diff --git a/packages/aws-amplify/lib/Auth/Auth.d.ts b/packages/aws-amplify/lib/Auth/Auth.d.ts index 87b7690cad0..45deddc054b 100644 --- a/packages/aws-amplify/lib/Auth/Auth.d.ts +++ b/packages/aws-amplify/lib/Auth/Auth.d.ts @@ -12,10 +12,7 @@ export default class AuthClass { private user; private _refreshHandlers; private _gettingCredPromise; -<<<<<<< HEAD private _signedInWith; -======= ->>>>>>> upstream/master /** * Initialize Auth with AWS configurations * @param {Object} config - Configuration of the Auth diff --git a/packages/aws-amplify/lib/Auth/Auth.js b/packages/aws-amplify/lib/Auth/Auth.js index 9a66982c550..745a4ae02bd 100644 --- a/packages/aws-amplify/lib/Auth/Auth.js +++ b/packages/aws-amplify/lib/Auth/Auth.js @@ -117,9 +117,9 @@ var AuthClass = /** @class */ (function () { }); } } -<<<<<<< HEAD // initiailize cognitoauth client if hosted ui options provided if (hostedUIOptions) { + var that_1 = this; var cognitoAuthParams = Object.assign({ ClientId: userPoolWebClientId, UserPoolId: userPoolId @@ -127,7 +127,9 @@ var AuthClass = /** @class */ (function () { this._cognitoAuthClient = new Common_1.CognitoHostedUI.CognitoAuth(cognitoAuthParams); this._cognitoAuthClient.userhandler = { onSuccess: function (result) { - logger.debug("Cognito Hosted authentication result", result); + that_1.user = that_1.userPool.getCurrentUser(); + dispatchAuthEvent('signIn', that_1.user); + logger.debug("Cognito Hosted authentication result", result, that_1.user); }, onFailure: function (err) { logger.debug("Error in cognito hosted auth response", err); @@ -137,8 +139,6 @@ var AuthClass = /** @class */ (function () { this._cognitoAuthClient.parseCognitoWebResponse(curUrl); logger.debug('hostedUIOptions configured'); } -======= ->>>>>>> upstream/master dispatchAuthEvent('configured', null); return this._config; }; @@ -801,11 +801,7 @@ var AuthClass = /** @class */ (function () { AuthClass.prototype.currentUserCredentials = function () { var _this = this; var that = this; -<<<<<<< HEAD - logger.debug('getting current user credentials'); -======= logger.debug('getting current user credential'); ->>>>>>> upstream/master if (Platform_1.default.isReactNative) { // asyncstorage return Cache_1.default.getItem('federatedInfo') @@ -842,8 +838,6 @@ var AuthClass = /** @class */ (function () { logger.debug('getting session failed', error); return _this._setCredentialsForGuest(); }); -<<<<<<< HEAD -======= } } }; @@ -878,40 +872,9 @@ var AuthClass = /** @class */ (function () { else { logger.debug('token not expired'); return this._setCredentialsFromFederation({ provider: provider, token: token, user: user, expires_at: expires_at }); ->>>>>>> upstream/master } } }; - AuthClass.prototype._refreshFederatedToken = function (federatedInfo) { - var provider = federatedInfo.provider, user = federatedInfo.user; - var token = federatedInfo.token; - var expires_at = federatedInfo.expires_at; - var that = this; - logger.debug('checking if federated jwt token expired'); - if (expires_at < new Date().getTime() - && typeof that._refreshHandlers[provider] === 'function') { - logger.debug('getting refreshed jwt token from federation provider'); - return that._refreshHandlers[provider]().then(function (data) { - logger.debug('refresh federated token sucessfully', data); - token = data.token; - expires_at = data.expires_at; - // Cache.setItem('federatedInfo', { provider, token, user, expires_at }, { priority: 1 }); - return that._setCredentialsFromFederation({ provider: provider, token: token, user: user, expires_at: expires_at }); - }).catch(function (e) { - logger.debug('refresh federated token failed', e); - return Promise.reject(e); - }); - } - else { - if (!that._refreshHandlers[provider]) { - logger.debug('no refresh hanlder for provider:', provider); - } - else { - logger.debug('token not expired'); - } - return this._setCredentialsFromFederation({ provider: provider, token: token, user: user, expires_at: expires_at }); - } - }; AuthClass.prototype.currentCredentials = function () { return this.pickupCredentials(); }; @@ -969,20 +932,12 @@ var AuthClass = /** @class */ (function () { */ AuthClass.prototype.signOut = function () { return __awaiter(this, void 0, void 0, function () { -<<<<<<< HEAD - var _this = this; - var source, user, that; - return __generator(this, function (_a) { - switch (_a.label) { - case 0: return [4 /*yield*/, this.currentCredentials()]; -======= var e_3, source, user, that; return __generator(this, function (_a) { switch (_a.label) { case 0: _a.trys.push([0, 2, , 3]); return [4 /*yield*/, this.cleanCachedItems()]; ->>>>>>> upstream/master case 1: _a.sent(); return [3 /*break*/, 3]; @@ -992,42 +947,23 @@ var AuthClass = /** @class */ (function () { return [3 /*break*/, 3]; case 3: source = this.credentials_source; -<<<<<<< HEAD - // clean out the cached stuff - this.credentials.clearCachedId(); - // clear federatedInfo - Cache_1.default.removeItem('federatedInfo'); - Cache_1.default.removeItem('federatedUser'); -======= ->>>>>>> upstream/master if (source === 'aws' || source === 'userPool') { if (!this.userPool) { return [2 /*return*/, Promise.reject('No userPool')]; } user = this.userPool.getCurrentUser(); - if (user) { - logger.debug('user sign out', user); - user.signOut(); + if (!user) { + return [2 /*return*/, Promise.resolve()]; } -<<<<<<< HEAD logger.debug('user sign out', user); user.signOut(); if (this._cognitoAuthClient) { this._cognitoAuthClient.signOut(); } -======= ->>>>>>> upstream/master } that = this; return [2 /*return*/, new Promise(function (resolve, reject) { that._setCredentialsForGuest().then(function (cred) { -<<<<<<< HEAD - dispatchAuthEvent('signOut', _this.user); - that.user = null; - resolve(); - }).catch(function (e) { - reject('cannot get guest credentials'); -======= dispatchAuthEvent('signOut', that.user); that.user = null; resolve(); @@ -1036,7 +972,6 @@ var AuthClass = /** @class */ (function () { dispatchAuthEvent('signOut', that.user); that.user = null; resolve(); ->>>>>>> upstream/master }); })]; } @@ -1207,11 +1142,6 @@ var AuthClass = /** @class */ (function () { AuthClass.prototype.federatedSignIn = function (provider, response, user) { var _this = this; var token = response.token, expires_at = response.expires_at; -<<<<<<< HEAD -======= - // store it into localstorage - // Cache.setItem('federatedInfo', { provider, token, user, expires_at }, { priority: 1 }); ->>>>>>> upstream/master var that = this; return new Promise(function (res, rej) { that._setCredentialsFromFederation({ provider: provider, token: token, user: user, expires_at: expires_at }).then(function (cred) { @@ -1322,16 +1252,10 @@ var AuthClass = /** @class */ (function () { 'amazon': 'www.amazon.com', 'developer': 'cognito-identity.amazonaws.com' }; -<<<<<<< HEAD - var domain = domains[provider]; - if (!domain) { - return Promise.reject(provider + ' is not supported: [google, facebook, amazon, developer]'); -======= // Use custom provider url instead of the predefined ones var domain = domains[provider] || provider; if (!domain) { return Promise.reject('You must specify a federated provider'); ->>>>>>> upstream/master } var logins = {}; logins[domain] = token; diff --git a/packages/aws-amplify/lib/Auth/Auth.js.map b/packages/aws-amplify/lib/Auth/Auth.js.map index 286b251cec7..a56fde7e661 100644 --- a/packages/aws-amplify/lib/Auth/Auth.js.map +++ b/packages/aws-amplify/lib/Auth/Auth.js.map @@ -1,5 +1 @@ -<<<<<<< HEAD -{"version":3,"file":"Auth.js","sourceRoot":"","sources":["../../src/Auth/Auth.ts"],"names":[],"mappings":"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"} -======= -{"version":3,"file":"Auth.js","sourceRoot":"","sources":["../../src/Auth/Auth.ts"],"names":[],"mappings":"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"} ->>>>>>> upstream/master +{"version":3,"file":"Auth.js","sourceRoot":"","sources":["../../src/Auth/Auth.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/packages/aws-amplify/src/Auth/Auth.ts b/packages/aws-amplify/src/Auth/Auth.ts index ef40aa142c0..8c3b417ed53 100644 --- a/packages/aws-amplify/src/Auth/Auth.ts +++ b/packages/aws-amplify/src/Auth/Auth.ts @@ -115,6 +115,7 @@ export default class AuthClass { // initiailize cognitoauth client if hosted ui options provided if (hostedUIOptions) { + const that = this; const cognitoAuthParams = Object.assign( { ClientId: userPoolWebClientId, @@ -125,7 +126,9 @@ export default class AuthClass { this._cognitoAuthClient = new CognitoHostedUI.CognitoAuth(cognitoAuthParams); this._cognitoAuthClient.userhandler = { onSuccess: (result) => { - logger.debug("Cognito Hosted authentication result", result); + that.user = that.userPool.getCurrentUser(); + dispatchAuthEvent('signIn', that.user); + logger.debug("Cognito Hosted authentication result", result, that.user); }, onFailure: (err) => { logger.debug("Error in cognito hosted auth response", err); From d7b33bbfb064a9583f1a3fea10fd63e9749393ea Mon Sep 17 00:00:00 2001 From: powerful23 Date: Fri, 30 Mar 2018 16:33:00 -0700 Subject: [PATCH 05/22] mionr change --- .../src/Auth/Provider/withCognito.jsx | 10 ++- packages/aws-amplify/lib/Auth/Auth.js | 38 +++++++--- packages/aws-amplify/lib/Auth/Auth.js.map | 2 +- packages/aws-amplify/lib/Auth/types/Auth.d.ts | 8 +++ packages/aws-amplify/src/Auth/Auth.ts | 69 ++++++++++++++----- packages/aws-amplify/src/Auth/types/Auth.ts | 9 +++ yarn.lock | 6 -- 7 files changed, 102 insertions(+), 40 deletions(-) diff --git a/packages/aws-amplify-react/src/Auth/Provider/withCognito.jsx b/packages/aws-amplify-react/src/Auth/Provider/withCognito.jsx index 61995d25243..2d32decaff9 100644 --- a/packages/aws-amplify-react/src/Auth/Provider/withCognito.jsx +++ b/packages/aws-amplify-react/src/Auth/Provider/withCognito.jsx @@ -23,13 +23,11 @@ export default function withCognito(Comp) { const { AppWebDomain, RedirectUriSignIn, - RedirectUriSignOut } = config.hostedUIOptions; + RedirectUriSignOut, + ResponseType } = config.hostedUIOptions; const clientId = config.userPoolWebClientId; - const responseType = 'token'; - const url = 'https://' + AppWebDomain + '/login?redirect_uri=' + RedirectUriSignIn + '&response_type=' + responseType + '&client_id=' + clientId; - window.location.assign(url); - - + const url = 'https://' + AppWebDomain + '/login?redirect_uri=' + RedirectUriSignIn + '&response_type=' + ResponseType + '&client_id=' + clientId; + window.location.assign(url); } render() { diff --git a/packages/aws-amplify/lib/Auth/Auth.js b/packages/aws-amplify/lib/Auth/Auth.js index 745a4ae02bd..fed55676058 100644 --- a/packages/aws-amplify/lib/Auth/Auth.js +++ b/packages/aws-amplify/lib/Auth/Auth.js @@ -124,19 +124,32 @@ var AuthClass = /** @class */ (function () { ClientId: userPoolWebClientId, UserPoolId: userPoolId }, hostedUIOptions); + var type = hostedUIOptions['ResponseType']; this._cognitoAuthClient = new Common_1.CognitoHostedUI.CognitoAuth(cognitoAuthParams); this._cognitoAuthClient.userhandler = { + // user signed in onSuccess: function (result) { that_1.user = that_1.userPool.getCurrentUser(); - dispatchAuthEvent('signIn', that_1.user); - logger.debug("Cognito Hosted authentication result", result, that_1.user); + logger.debug("Cognito Hosted authentication result", result); + that_1.currentSession().then(function (session) { + that_1._setCredentialsFromSession(session).then(function (cred) { + logger.debug('sign in succefully with', cred); + dispatchAuthEvent('signIn', that_1.user); + }); + }); }, onFailure: function (err) { logger.debug("Error in cognito hosted auth response", err); } }; - var curUrl = window.location.href; - this._cognitoAuthClient.parseCognitoWebResponse(curUrl); + // if not logged in, try to parse the url. + this.currentAuthenticatedUser().then(function () { + logger.debug('user already logged in'); + }).catch(function (e) { + logger.debug('not logged in, try to parse the url'); + var curUrl = window.location.href; + _this._cognitoAuthClient.parseCognitoWebResponse(curUrl); + }); logger.debug('hostedUIOptions configured'); } dispatchAuthEvent('configured', null); @@ -714,6 +727,7 @@ var AuthClass = /** @class */ (function () { return __generator(this, function (_b) { switch (_b.label) { case 0: + logger.debug('getting current authenticted user'); federatedUser = null; _b.label = 1; case 1: @@ -756,13 +770,14 @@ var AuthClass = /** @class */ (function () { AuthClass.prototype.currentSession = function () { var user; var that = this; - logger.debug('getting current session'); + logger.debug('Getting current session'); if (!this.userPool) { return Promise.reject('No userPool'); } if (Platform_1.default.isReactNative) { return this.getSyncedUser().then(function (user) { if (!user) { + logger.debug('Failed to get user from user pool'); return Promise.reject('No current user'); } return that.userSession(user); @@ -771,6 +786,7 @@ var AuthClass = /** @class */ (function () { else { user = this.userPool.getCurrentUser(); if (!user) { + logger.debug('Failed to get user from user pool'); return Promise.reject('No current user'); } return this.userSession(user); @@ -783,12 +799,14 @@ var AuthClass = /** @class */ (function () { */ AuthClass.prototype.userSession = function (user) { return new Promise(function (resolve, reject) { - logger.debug(user); + logger.debug('Getting the session from this user:', user); user.getSession(function (err, session) { if (err) { + logger.debug('Failed to get the session from user', user); reject(err); } else { + logger.debug('Succeed to get the user session', session); resolve(session); } }); @@ -801,7 +819,7 @@ var AuthClass = /** @class */ (function () { AuthClass.prototype.currentUserCredentials = function () { var _this = this; var that = this; - logger.debug('getting current user credential'); + logger.debug('Getting current user credentials'); if (Platform_1.default.isReactNative) { // asyncstorage return Cache_1.default.getItem('federatedInfo') @@ -843,6 +861,7 @@ var AuthClass = /** @class */ (function () { }; AuthClass.prototype._refreshFederatedToken = function (federatedInfo) { var _this = this; + logger.debug('Getting federated credentials'); var provider = federatedInfo.provider, user = federatedInfo.user; var token = federatedInfo.token; var expires_at = federatedInfo.expires_at; @@ -876,6 +895,7 @@ var AuthClass = /** @class */ (function () { } }; AuthClass.prototype.currentCredentials = function () { + logger.debug('getting current credntials'); return this.pickupCredentials(); }; /** @@ -1290,11 +1310,13 @@ var AuthClass = /** @class */ (function () { }); }; AuthClass.prototype.keepAlive = function () { + logger.debug('checking if credentials exists and not expired'); var cred = this.credentials; if (cred && !this._isExpired(cred)) { - logger.debug('not changed, directly return credentials'); + logger.debug('credentials not changed and not expired, directly return'); return Promise.resolve(cred); } + logger.debug('need to get a new credential or refresh the existing one'); return this.currentUserCredentials(); }; AuthClass.prototype.createCognitoUser = function (username) { diff --git a/packages/aws-amplify/lib/Auth/Auth.js.map b/packages/aws-amplify/lib/Auth/Auth.js.map index a56fde7e661..2198a7f0af7 100644 --- a/packages/aws-amplify/lib/Auth/Auth.js.map +++ b/packages/aws-amplify/lib/Auth/Auth.js.map @@ -1 +1 @@ -{"version":3,"file":"Auth.js","sourceRoot":"","sources":["../../src/Auth/Auth.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"Auth.js","sourceRoot":"","sources":["../../src/Auth/Auth.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;GAWG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIH,oCAWmB;AACnB,+CAA0C;AAC1C,kCAA6B;AAG7B,IAAM,MAAM,GAAG,IAAI,sBAAM,CAAC,WAAW,CAAC,CAAC;AAGnC,IAAA,oEAA0B,EAC1B,sCAAW,CACP;AAGJ,IAAA,8CAAa,EACb,kDAAe,EACf,4DAAoB,EACpB,0CAAW,EACX,8DAAqB,CACb;AAEZ,IAAM,iBAAiB,GAAG,UAAC,KAAK,EAAE,IAAI;IAClC,YAAG,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,KAAK,OAAA,EAAE,IAAI,MAAA,EAAE,EAAE,MAAM,CAAC,CAAC;AAClD,CAAC,CAAC;AAEF;;EAEE;AACF;IAcI;;;OAGG;IACH,mBAAY,MAAmB;QAfvB,aAAQ,GAAG,IAAI,CAAC;QAChB,uBAAkB,GAAG,IAAI,CAAC;QAE1B,gBAAW,GAAG,IAAI,CAAC;QACnB,uBAAkB,GAAG,EAAE,CAAC,CAAC,kCAAkC;QAC3D,SAAI,GAAO,IAAI,CAAC;QAEhB,qBAAgB,GAAG,EAAE,CAAC;QACtB,wBAAmB,GAAG,IAAI,CAAC;QAQ/B,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QACvB,gBAAgB;QAChB,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,GAAG,oBAAW,CAAC,kBAAkB,CAAC;QACjE,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC,GAAG,sBAAa,CAAC,oBAAoB,CAAC;QAEvE,EAAE,CAAC,CAAC,YAAG,CAAC,MAAM,CAAC,CAAC,CAAC;YACb,YAAG,CAAC,MAAM,CAAC,MAAM,CAAC,EAAC,eAAe,EAAE,kBAAS,CAAC,SAAS,EAAC,CAAC,CAAC;QAC9D,CAAC;QAAC,IAAI,CAAC,CAAC;YACJ,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QACjC,CAAC;IACL,CAAC;IAED,6BAAS,GAAT,UAAU,MAAM;QAAhB,iBAyEC;QAxEG,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;YAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC;QACjC,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;QAC/B,IAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,OAAO,EAAE,eAAM,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC;QACvF,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QAEpB,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC;YAAC,MAAM,CAAC,KAAK,CAAC,iCAAiC,CAAC,CAAC;QAAC,CAAC;QAChF,IAAA,iBAAkF,EAAhF,0BAAU,EAAE,4CAAmB,EAAE,gCAAa,EAAE,oCAAe,CAAkB;QACzF,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;YACb,IAAM,YAAY,GAAyB;gBACvC,UAAU,EAAE,UAAU;gBACtB,QAAQ,EAAE,mBAAmB;aAChC,CAAC;YACF,EAAE,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC;gBAChB,YAAY,CAAC,OAAO,GAAG,IAAI,aAAa,CAAC,aAAa,CAAC,CAAC;YAC5D,CAAC;YACD,IAAI,CAAC,QAAQ,GAAG,IAAI,eAAe,CAAC,YAAY,CAAC,CAAC;YAClD,EAAE,CAAC,CAAC,kBAAQ,CAAC,aAAa,CAAC,CAAC,CAAC;gBACzB,IAAM,IAAI,GAAG,IAAI,CAAC;gBAClB,IAAI,CAAC,oBAAoB,GAAG,IAAI,OAAO,CAAC,UAAC,OAAO,EAAE,MAAM;oBACpD,KAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,UAAC,GAAG,EAAE,IAAI;wBACjC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;4BACN,MAAM,CAAC,GAAG,CAAC,CAAC;wBAChB,CAAC;wBAAC,IAAI,CAAC,CAAC;4BACJ,OAAO,CAAC,IAAI,CAAC,CAAC;wBAClB,CAAC;oBACL,CAAC,CAAC,CAAC;gBACP,CAAC,CAAC,CAAC;YACP,CAAC;QACL,CAAC;QAED,+DAA+D;QAC/D,EAAE,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC;YAClB,IAAM,MAAI,GAAG,IAAI,CAAC;YAClB,IAAM,iBAAiB,GAAG,MAAM,CAAC,MAAM,CACnC;gBACI,QAAQ,EAAE,mBAAmB;gBAC7B,UAAU,EAAE,UAAU;aACzB,EACD,eAAe,CAClB,CAAC;YACF,IAAM,IAAI,GAAG,eAAe,CAAC,cAAc,CAAC,CAAC;YAC7C,IAAI,CAAC,kBAAkB,GAAG,IAAI,wBAAe,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAAC;YAC7E,IAAI,CAAC,kBAAkB,CAAC,WAAW,GAAG;gBAClC,iBAAiB;gBACjB,SAAS,EAAE,UAAC,MAAM;oBACd,MAAI,CAAC,IAAI,GAAG,MAAI,CAAC,QAAQ,CAAC,cAAc,EAAE,CAAC;oBAC3C,MAAM,CAAC,KAAK,CAAC,sCAAsC,EAAE,MAAM,CAAC,CAAC;oBAC7D,MAAI,CAAC,cAAc,EAAE,CAAC,IAAI,CAAC,UAAC,OAAO;wBAC/B,MAAI,CAAC,0BAA0B,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,UAAC,IAAI;4BAC/C,MAAM,CAAC,KAAK,CAAC,yBAAyB,EAAE,IAAI,CAAC,CAAC;4BAC9C,iBAAiB,CAAC,QAAQ,EAAE,MAAI,CAAC,IAAI,CAAC,CAAC;wBAC3C,CAAC,CAAC,CAAC;oBACP,CAAC,CAAC,CAAC;gBAEP,CAAC;gBACD,SAAS,EAAE,UAAC,GAAG;oBACX,MAAM,CAAC,KAAK,CAAC,uCAAuC,EAAE,GAAG,CAAC,CAAC;gBAC/D,CAAC;aACJ,CAAC;YACF,0CAA0C;YAC1C,IAAI,CAAC,wBAAwB,EAAE,CAAC,IAAI,CAAC;gBACjC,MAAM,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC;YAC3C,CAAC,CAAC,CAAC,KAAK,CAAC,UAAA,CAAC;gBACN,MAAM,CAAC,KAAK,CAAC,qCAAqC,CAAC,CAAC;gBACpD,IAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;gBACpC,KAAI,CAAC,kBAAkB,CAAC,uBAAuB,CAAC,MAAM,CAAC,CAAC;YAC5D,CAAC,CAAC,CAAA;YACF,MAAM,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAC;QAC/C,CAAC;QAED,iBAAiB,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;QACtC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC;IACxB,CAAC;IAED;;;;;OAKG;IACI,0BAAM,GAAb,UAAc,MAAuB;QAArC,iBA8CC;QA9CsC,qBAAwB;aAAxB,UAAwB,EAAxB,qBAAwB,EAAxB,IAAwB;YAAxB,oCAAwB;;QAC3D,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;YAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;QAAC,CAAC;QAE7D,IAAI,QAAQ,GAAY,IAAI,CAAC;QAC7B,IAAI,QAAQ,GAAY,IAAI,CAAC;QAC7B,IAAM,UAAU,GAAc,EAAE,CAAC;QACjC,IAAI,cAAc,GAAa,IAAI,CAAC;QACpC,EAAE,CAAC,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC;YACvC,QAAQ,GAAG,MAAM,CAAC;YAClB,QAAQ,GAAG,WAAW,CAAA,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YAC9C,IAAM,KAAK,GAAY,WAAW,CAAA,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YAC1D,IAAM,YAAY,GAAY,WAAW,CAAA,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YACjE,EAAE,CAAC,CAAC,KAAK,CAAC;gBAAC,UAAU,CAAC,IAAI,CAAC,EAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAC,CAAC,CAAC;YAC1D,EAAE,CAAC,CAAC,YAAY,CAAC;gBAAC,UAAU,CAAC,IAAI,CAAC,EAAC,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,YAAY,EAAC,CAAC,CAAC;QACnF,CAAC;QAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC;YAC9C,QAAQ,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;YAC9B,QAAQ,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;YAC9B,IAAM,OAAK,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC;YACnC,EAAE,CAAC,CAAC,OAAK,CAAC,CAAC,CAAC;gBACR,MAAM,CAAC,IAAI,CAAC,OAAK,CAAC,CAAC,GAAG,CAAC,UAAA,GAAG;oBACtB,IAAM,GAAG,GAAY,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,OAAK,CAAC,GAAG,CAAC,EAAE,CAAC;oBACtD,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACzB,CAAC,CAAC,CAAC;YACP,CAAC;YACD,cAAc,GAAG,MAAM,CAAC,gBAAgB,CAAC,IAAI,IAAI,CAAC;QACtD,CAAC;QAAC,IAAI,CAAC,CAAC;YACJ,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,gEAAgE,CAAC,CAAC;QAC5F,CAAC;QAED,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;YAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,0BAA0B,CAAC,CAAC;QAAC,CAAC;QACrE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;YAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,0BAA0B,CAAC,CAAC;QAAC,CAAC;QAErE,MAAM,CAAC,KAAK,CAAC,eAAe,EAAE,UAAU,CAAC,CAAC;QAC1C,MAAM,CAAC,KAAK,CAAC,yBAAyB,EAAE,cAAc,CAAC,CAAC;QAExD,MAAM,CAAC,IAAI,OAAO,CAAC,UAAC,OAAO,EAAE,MAAM;YAC/B,KAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,cAAc,EAAE,UAAS,GAAG,EAAE,IAAI;gBACnF,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;oBACN,iBAAiB,CAAC,gBAAgB,EAAE,GAAG,CAAC,CAAC;oBACzC,MAAM,CAAC,GAAG,CAAC,CAAC;gBAChB,CAAC;gBAAC,IAAI,CAAC,CAAC;oBACJ,iBAAiB,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;oBAClC,OAAO,CAAC,IAAI,CAAC,CAAC;gBAClB,CAAC;YACL,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACP,CAAC;IAED;;;;;OAKG;IACI,iCAAa,GAApB,UAAqB,QAAgB,EAAE,IAAY;QAC/C,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;YAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;QAAC,CAAC;QAC7D,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;YAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,0BAA0B,CAAC,CAAC;QAAC,CAAC;QACrE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;YAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,sBAAsB,CAAC,CAAC;QAAC,CAAC;QAE7D,IAAM,IAAI,GAAG,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;QAC9C,MAAM,CAAC,IAAI,OAAO,CAAC,UAAC,OAAO,EAAE,MAAM;YAE/B,IAAI,CAAC,mBAAmB,CAAC,IAAI,EAAE,IAAI,EAAE,UAAS,GAAG,EAAE,IAAI;gBACnD,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;oBAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBAAC,CAAC;gBAAC,IAAI,CAAC,CAAC;oBAAC,OAAO,CAAC,IAAI,CAAC,CAAC;gBAAC,CAAC;YACrD,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACP,CAAC;IAED;;;;OAIG;IACI,gCAAY,GAAnB,UAAoB,QAAgB;QAChC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;YAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;QAAC,CAAC;QAC7D,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;YAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,0BAA0B,CAAC,CAAC;QAAC,CAAC;QAErE,IAAM,IAAI,GAAG,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;QAC9C,MAAM,CAAC,IAAI,OAAO,CAAC,UAAC,OAAO,EAAE,MAAM;YAC/B,IAAI,CAAC,sBAAsB,CAAC,UAAS,GAAG,EAAE,IAAI;gBAC1C,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;oBAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBAAC,CAAC;gBAAC,IAAI,CAAC,CAAC;oBAAC,OAAO,CAAC,IAAI,CAAC,CAAC;gBAAC,CAAC;YACrD,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACP,CAAC;IAED;;;;;OAKG;IACI,0BAAM,GAAb,UAAc,QAAgB,EAAE,QAAgB;QAC5C,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;YAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;QAAC,CAAC;QAC7D,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;YAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,0BAA0B,CAAC,CAAC;QAAC,CAAC;QACrE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;YAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,0BAA0B,CAAC,CAAC;QAAC,CAAC;QAErE,IAAM,IAAI,GAAG,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;QAC9C,IAAM,WAAW,GAAG,IAAI,qBAAqB,CAAC;YAC1C,QAAQ,EAAE,QAAQ;YAClB,QAAQ,EAAE,QAAQ;SACrB,CAAC,CAAC;QAEH,IAAM,IAAI,GAAG,IAAI,CAAC;QAClB,MAAM,CAAC,IAAI,OAAO,CAAC,UAAC,OAAO,EAAE,MAAM;YAC/B,IAAI,CAAC,gBAAgB,CAAC,WAAW,EAAE;gBAC/B,SAAS,EAAE,UAAC,OAAO;oBACf,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;oBACtB,IAAI,CAAC,0BAA0B,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,UAAC,IAAI;wBAC/C,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;wBACjB,iBAAiB,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;wBAClC,OAAO,CAAC,IAAI,CAAC,CAAC;oBAClB,CAAC,CAAC,CAAC,KAAK,CAAC,UAAA,CAAC;wBACN,MAAM,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC;wBAC/C,MAAM,CAAC,eAAe,CAAC,CAAC;oBAC5B,CAAC,CAAC,CAAC;gBACP,CAAC;gBACD,SAAS,EAAE,UAAC,GAAG;oBACX,MAAM,CAAC,KAAK,CAAC,gBAAgB,EAAE,GAAG,CAAC,CAAC;oBACpC,iBAAiB,CAAC,gBAAgB,EAAE,GAAG,CAAC,CAAC;oBACzC,MAAM,CAAC,GAAG,CAAC,CAAC;gBAChB,CAAC;gBACD,WAAW,EAAE,UAAC,aAAa,EAAE,cAAc;oBACvC,MAAM,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;oBACpC,IAAI,CAAC,eAAe,CAAC,GAAG,aAAa,CAAC;oBACtC,IAAI,CAAC,gBAAgB,CAAC,GAAG,cAAc,CAAC;oBACxC,OAAO,CAAC,IAAI,CAAC,CAAC;gBAClB,CAAC;gBACD,mBAAmB,EAAE,UAAC,cAAc,EAAE,kBAAkB;oBACpD,MAAM,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;oBACpC,IAAI,CAAC,eAAe,CAAC,GAAG,uBAAuB,CAAC;oBAChD,IAAI,CAAC,gBAAgB,CAAC,GAAG;wBACrB,cAAc,gBAAA;wBACd,kBAAkB,oBAAA;qBACrB,CAAC;oBACF,OAAO,CAAC,IAAI,CAAC,CAAC;gBAClB,CAAC;gBACD,QAAQ,EAAE,UAAC,aAAa,EAAE,cAAc;oBACpC,MAAM,CAAC,KAAK,CAAC,kBAAkB,EAAE,aAAa,CAAC,CAAC;oBAChD,IAAI,CAAC,eAAe,CAAC,GAAG,aAAa,CAAC;oBACtC,IAAI,CAAC,gBAAgB,CAAC,GAAG,cAAc,CAAC;oBACxC,OAAO,CAAC,IAAI,CAAC,CAAC;gBAClB,CAAC;gBACD,YAAY,EAAE,UAAC,aAAa,EAAE,cAAc;oBACxC,MAAM,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;oBACpC,IAAI,CAAC,eAAe,CAAC,GAAG,aAAa,CAAC;oBACtC,IAAI,CAAC,gBAAgB,CAAC,GAAG,cAAc,CAAC;oBACxC,OAAO,CAAC,IAAI,CAAC,CAAC;gBAClB,CAAC;gBACD,aAAa,EAAE,UAAC,aAAa,EAAE,cAAc;oBACzC,MAAM,CAAC,KAAK,CAAC,sBAAsB,EAAE,aAAa,CAAC,CAAC;oBACpD,IAAI,CAAC,eAAe,CAAC,GAAG,aAAa,CAAC;oBACtC,IAAI,CAAC,gBAAgB,CAAC,GAAG,cAAc,CAAC;oBACxC,OAAO,CAAC,IAAI,CAAC,CAAC;gBAClB,CAAC;aACJ,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACP,CAAC;IAED;;;;OAIG;IACI,iCAAa,GAApB,UAAqB,IAAU;QAC3B,MAAM,CAAC,IAAI,OAAO,CAAC,UAAC,GAAG,EAAE,GAAG;YACxB,IAAI,CAAC,aAAa,CAAC,UAAC,GAAG,EAAE,UAAU;gBAC/B,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;oBACN,MAAM,CAAC,KAAK,CAAC,wBAAwB,EAAE,GAAG,CAAC,CAAC;oBAC5C,GAAG,CAAC,GAAG,CAAC,CAAC;gBACb,CAAC;gBACD,MAAM,CAAC,KAAK,CAAC,yBAAyB,EAAE,UAAU,CAAC,CAAC;gBACpD,GAAG,CAAC,UAAU,CAAC,CAAC;YACpB,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACP,CAAC;IAED;;;;;OAKG;IACI,mCAAe,GAAtB,UAAuB,IAAU,EAAE,SAAkB;QACjD,IAAI,cAAc,GAAG;YACjB,YAAY,EAAG,KAAK;YACpB,OAAO,EAAG,KAAK;SAClB,CAAC;QACF,IAAI,eAAe,GAAG;YAClB,YAAY,EAAG,KAAK;YACpB,OAAO,EAAG,KAAK;SAClB,CAAC;QAEF,MAAM,CAAA,CAAC,SAAS,CAAC,CAAC,CAAC;YACf,KAAK,MAAM;gBACP,eAAe,GAAG;oBACd,YAAY,EAAG,IAAI;oBACnB,OAAO,EAAG,IAAI;iBACjB,CAAC;gBACF,KAAK,CAAC;YACV,KAAK,KAAK;gBACN,cAAc,GAAG;oBACb,YAAY,EAAG,IAAI;oBACnB,OAAO,EAAG,IAAI;iBACjB,CAAC;gBACF,KAAK,CAAC;YACV,KAAK,OAAO;gBACR,KAAK,CAAC;YACV;gBACI,MAAM,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC;gBAC5C,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,6BAA6B,CAAC,CAAC;QAC7D,CAAC;QAED,IAAM,IAAI,GAAG,IAAI,CAAC;QAClB,IAAM,gBAAgB,GAAG,0CAA0C,CAAC;QACpE,IAAM,cAAc,GAAG,wCAAwC,CAAC;QAChE,MAAM,CAAC,IAAI,OAAO,CAAC,UAAC,GAAG,EAAE,GAAG;YACxB,IAAI,CAAC,oBAAoB,CAAC,cAAc,EAAE,eAAe,EAAE,UAAC,GAAG,EAAE,MAAM;gBACnE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;oBACN,sEAAsE;oBACtE,sBAAsB;oBACtB,EAAE,CAAC,CAAC,GAAG,CAAC,OAAO,KAAK,cAAc,IAAI,GAAG,CAAC,OAAO,KAAK,gBAAgB,CAAC,CAAC,CAAC;wBACrE,EAAE,CAAC,CAAC,SAAS,KAAK,KAAK,CAAC,CAAC,CAAC;4BACtB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,UAAC,IAAI;gCAC3B,MAAM,CAAC,KAAK,CAAC,sBAAsB,EAAE,IAAI,CAAC,CAAC;gCAC3C,GAAG,CAAC,IAAI,CAAC,CAAC;4BACd,CAAC,CAAC,CAAC,KAAK,CAAC,UAAA,GAAG;gCACR,MAAM,CAAC,KAAK,CAAC,+BAA+B,EAAE,GAAG,CAAC,CAAC;gCACnD,GAAG,CAAC,GAAG,CAAC,CAAC;4BACb,CAAC,CAAC,CAAC;wBACP,CAAC;wBAAC,IAAI,CAAC,EAAE,CAAC,CAAC,SAAS,KAAK,OAAO,CAAC,CAAC,CAAC;4BAC/B,aAAa;4BACb,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,UAAC,IAAI;gCAC5B,MAAM,CAAC,KAAK,CAAC,sBAAsB,EAAE,IAAI,CAAC,CAAC;gCAC3C,GAAG,CAAC,IAAI,CAAC,CAAC;4BACd,CAAC,CAAC,CAAC,KAAK,CAAC,UAAA,GAAG;gCACR,MAAM,CAAC,KAAK,CAAC,+BAA+B,EAAE,GAAG,CAAC,CAAC;gCACnD,GAAG,CAAC,GAAG,CAAC,CAAC;4BACb,CAAC,CAAC,CAAC;wBACP,CAAC;wBAAC,IAAI,CAAC,CAAC;4BACJ,MAAM,CAAC,KAAK,CAAC,+BAA+B,EAAE,GAAG,CAAC,CAAC;4BACnD,GAAG,CAAC,GAAG,CAAC,CAAC;wBACb,CAAC;oBACL,CAAC;oBAAC,IAAI,CAAC,CAAC;wBACJ,MAAM,CAAC,KAAK,CAAC,+BAA+B,EAAE,GAAG,CAAC,CAAC;wBACnD,GAAG,CAAC,GAAG,CAAC,CAAC;oBACb,CAAC;gBACL,CAAC;gBACD,MAAM,CAAC,KAAK,CAAC,sBAAsB,EAAE,MAAM,CAAC,CAAC;gBAC7C,GAAG,CAAC,MAAM,CAAC,CAAC;YAChB,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACP,CAAC;IAED;;;;OAIG;IACI,8BAAU,GAAjB,UAAkB,IAAU;QACxB,MAAM,CAAC,IAAI,OAAO,CAAC,UAAC,GAAG,EAAE,GAAG;YACxB,IAAI,CAAC,UAAU,CAAC,UAAC,GAAG,EAAE,IAAI;gBACtB,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;oBACN,MAAM,CAAC,KAAK,CAAC,oBAAoB,EAAE,GAAG,CAAC,CAAC;oBACxC,GAAG,CAAC,GAAG,CAAC,CAAC;gBACb,CAAC;gBACD,MAAM,CAAC,KAAK,CAAC,qBAAqB,EAAE,IAAI,CAAC,CAAC;gBAC1C,GAAG,CAAC,IAAI,CAAC,CAAC;YACd,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACP,CAAC;IAED;;;;OAIG;IACI,6BAAS,GAAhB,UAAiB,IAAI;QACjB,MAAM,CAAC,IAAI,OAAO,CAAC,UAAC,GAAG,EAAE,GAAG;YACxB,IAAI,CAAC,SAAS,CAAC,UAAC,GAAG,EAAE,IAAI;gBACrB,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;oBACN,MAAM,CAAC,KAAK,CAAC,mBAAmB,EAAE,GAAG,CAAC,CAAC;oBACvC,GAAG,CAAC,GAAG,CAAC,CAAC;gBACb,CAAC;gBACD,MAAM,CAAC,KAAK,CAAC,oBAAoB,EAAE,IAAI,CAAC,CAAC;gBACzC,GAAG,CAAC,IAAI,CAAC,CAAC;YACd,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACP,CAAC;IAED;;;;OAIG;IACI,6BAAS,GAAhB,UAAiB,IAAI;QACjB,MAAM,CAAC,IAAI,OAAO,CAAC,UAAC,GAAG,EAAE,GAAG;YACxB,IAAI,CAAC,sBAAsB,CAAC;gBACxB,SAAS,EAAE,UAAC,GAAG;oBACX,MAAM,CAAC,KAAK,CAAC,+BAA+B,EAAE,GAAG,CAAC,CAAC;oBACnD,GAAG,CAAC,GAAG,CAAC,CAAC;gBACb,CAAC;gBACD,mBAAmB,EAAE,UAAC,UAAU;oBAC5B,MAAM,CAAC,KAAK,CAAC,+BAA+B,EAAE,UAAU,CAAC,CAAC;oBAC1D,GAAG,CAAC,UAAU,CAAC,CAAC;gBACpB,CAAC;aACJ,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACP,CAAC;IAED;;;;;OAKG;IACI,mCAAe,GAAtB,UAAuB,IAAI,EAAE,eAAe;QACxC,MAAM,CAAC,KAAK,CAAC,wBAAwB,EAAE,IAAI,EAAE,eAAe,CAAC,CAAC;QAC9D,MAAM,CAAC,IAAI,OAAO,CAAC,UAAC,GAAG,EAAE,GAAG;YACxB,IAAI,CAAC,mBAAmB,CAAC,eAAe,EAAE,gBAAgB,EAAE;gBACxD,SAAS,EAAE,UAAC,GAAG;oBACX,MAAM,CAAC,KAAK,CAAC,wBAAwB,EAAE,GAAG,CAAC,CAAC;oBAC5C,GAAG,CAAC,GAAG,CAAC,CAAC;gBACb,CAAC;gBACD,SAAS,EAAE,UAAC,IAAI;oBACZ,MAAM,CAAC,KAAK,CAAC,yBAAyB,EAAE,IAAI,CAAC,CAAC;oBAC9C,GAAG,CAAC,IAAI,CAAC,CAAC;gBACd,CAAC;aACJ,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACP,CAAC;IAED;;;;OAIG;IACI,iCAAa,GAApB,UAAqB,IAAS,EAAE,IAAY,EAAE,OAAsB;QAChE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;YAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,sBAAsB,CAAC,CAAC;QAAC,CAAC;QAE7D,IAAM,IAAI,GAAG,IAAI,CAAC;QAClB,MAAM,CAAC,IAAI,OAAO,CAAC,UAAC,OAAO,EAAE,MAAM;YAC/B,IAAI,CAAC,WAAW,CACZ,IAAI,EAAE;gBACF,SAAS,EAAE,UAAC,OAAO;oBACf,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;oBACtB,IAAI,CAAC,0BAA0B,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,UAAC,IAAI;wBAC/C,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;wBACjB,iBAAiB,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;wBAClC,OAAO,CAAC,IAAI,CAAC,CAAC;oBAClB,CAAC,CAAC,CAAC,KAAK,CAAC,UAAA,CAAC;wBACN,MAAM,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC;wBAC/C,MAAM,CAAC,eAAe,CAAC,CAAC;oBAC5B,CAAC,CAAC,CAAC;gBACP,CAAC;gBACD,SAAS,EAAE,UAAC,GAAG;oBACX,MAAM,CAAC,KAAK,CAAC,wBAAwB,EAAE,GAAG,CAAC,CAAC;oBAC5C,MAAM,CAAC,GAAG,CAAC,CAAC;gBAChB,CAAC;aACJ,EACD,OAAO,CAAC,CAAC;QACjB,CAAC,CAAC,CAAC;IACP,CAAC;IAEM,uCAAmB,GAA1B,UACI,IAAS,EACT,QAAgB,EAChB,kBAAuB;QAEvB,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;YAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,0BAA0B,CAAC,CAAC;QAAC,CAAC;QAErE,IAAM,IAAI,GAAG,IAAI,CAAC;QAClB,MAAM,CAAC,IAAI,OAAO,CAAC,UAAC,OAAO,EAAE,MAAM;YAC/B,IAAI,CAAC,4BAA4B,CAAC,QAAQ,EAAE,kBAAkB,EAAE;gBAC5D,SAAS,EAAE,UAAC,OAAO;oBACf,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;oBACtB,IAAI,CAAC,0BAA0B,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,UAAC,IAAI;wBAC/C,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;wBACjB,iBAAiB,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;wBAClC,OAAO,CAAC,IAAI,CAAC,CAAC;oBAClB,CAAC,CAAC,CAAC,KAAK,CAAC,UAAA,CAAC;wBACN,MAAM,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC;wBAC/C,MAAM,CAAC,eAAe,CAAC,CAAC;oBAC5B,CAAC,CAAC,CAAC;gBACP,CAAC;gBACD,SAAS,EAAE,UAAC,GAAG;oBACX,MAAM,CAAC,KAAK,CAAC,6BAA6B,EAAE,GAAG,CAAC,CAAC;oBACjD,MAAM,CAAC,GAAG,CAAC,CAAC;gBAChB,CAAC;gBACD,WAAW,EAAE,UAAC,aAAa,EAAE,cAAc;oBACvC,MAAM,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;oBACpC,IAAI,CAAC,eAAe,CAAC,GAAG,aAAa,CAAC;oBACtC,IAAI,CAAC,gBAAgB,CAAC,GAAG,cAAc,CAAC;oBACxC,OAAO,CAAC,IAAI,CAAC,CAAC;gBAClB,CAAC;aACJ,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACP,CAAC;IAED;;;;QAII;IACG,wCAAoB,GAA3B,UAA4B,IAAI,EAAE,UAAiB;QAC/C,IAAI,IAAI,GAAU,EAAE,CAAC;QACrB,IAAM,aAAa,GAAiB,EAAE,CAAC;QACvC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;aACxB,IAAI,CAAC,UAAA,OAAO;YACT,MAAM,CAAC,IAAI,OAAO,CAAC,UAAC,OAAO,EAAE,MAAM;gBAC/B,GAAG,CAAC,CAAC,IAAM,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC;oBAC3B,EAAE,CAAC,CAAE,GAAG,KAAK,KAAK;wBACd,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC;wBAC5B,UAAU,CAAC,GAAG,CAAE,CAAC,CAAC,CAAC;wBACnB,IAAI,GAAG;4BACH,MAAM,EAAE,GAAG;4BACX,OAAO,EAAE,UAAU,CAAC,GAAG,CAAC;yBAC3B,CAAC;wBACF,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBAC7B,CAAC;gBACL,CAAC;gBACD,IAAI,CAAC,gBAAgB,CAAC,aAAa,EAAE,UAAC,GAAG,EAAC,MAAM;oBAC5C,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;wBAAC,MAAM,CAAC,GAAG,CAAC,CAAC;oBAAC,CAAC;oBAAC,IAAI,CAAC,CAAC;wBAAC,OAAO,CAAC,MAAM,CAAC,CAAC;oBAAC,CAAC;gBACvD,CAAC,CAAC,CAAC;YACP,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACX,CAAC;IACD;;;;OAIG;IACI,kCAAc,GAArB,UAAsB,IAAI;QACtB,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;aACxB,IAAI,CAAC,UAAA,OAAO;YACT,MAAM,CAAC,IAAI,OAAO,CAAC,UAAC,OAAO,EAAE,MAAM;gBAC/B,IAAI,CAAC,iBAAiB,CAAC,UAAC,GAAG,EAAE,UAAU;oBACnC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;wBAAC,MAAM,CAAC,GAAG,CAAC,CAAC;oBAAC,CAAC;oBAAC,IAAI,CAAC,CAAC;wBAAC,OAAO,CAAC,UAAU,CAAC,CAAC;oBAAC,CAAC;gBAC3D,CAAC,CAAC,CAAC;YACP,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACX,CAAC;IAEM,mCAAe,GAAtB,UAAuB,IAAI;QACvB,IAAM,IAAI,GAAG,IAAI,CAAC;QAClB,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC;aAC3B,IAAI,CAAC,UAAA,UAAU;YACZ,IAAM,KAAK,GAAG,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC;YAClD,IAAM,UAAU,GAAG,EAAE,CAAC;YACtB,IAAM,QAAQ,GAAG,EAAE,CAAC;YACpB,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;gBACjB,EAAE,CAAC,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;oBAC1B,QAAQ,CAAC,OAAO,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC;gBACvC,CAAC;gBAAC,IAAI,CAAC,CAAC;oBACJ,UAAU,CAAC,OAAO,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC;gBACzC,CAAC;YACL,CAAC;YACD,EAAE,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;gBACxB,EAAE,CAAC,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC;oBACjC,QAAQ,CAAC,cAAc,CAAC,GAAG,KAAK,CAAC,cAAc,CAAC,CAAC;gBACrD,CAAC;gBAAC,IAAI,CAAC,CAAC;oBACJ,UAAU,CAAC,cAAc,CAAC,GAAG,KAAK,CAAC,cAAc,CAAC,CAAC;gBACvD,CAAC;YACL,CAAC;YACD,MAAM,CAAC;gBACH,QAAQ,UAAA;gBACR,UAAU,YAAA;aACb,CAAC;QACN,CAAC,CAAC,CAAC;IACX,CAAC;IAED;;;OAGG;IACI,uCAAmB,GAA1B;QACI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;YAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;QAAC,CAAC;QAC7D,IAAI,IAAI,GAAG,IAAI,CAAC;QAChB,EAAE,CAAC,CAAC,kBAAQ,CAAC,aAAa,CAAC,CAAC,CAAC;YACzB,IAAM,IAAI,GAAG,IAAI,CAAC;YAClB,MAAM,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,IAAI,CAAC,UAAA,IAAI;gBACjC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;oBAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,6BAA6B,CAAC,CAAC;gBAAC,CAAC;gBACpE,MAAM,CAAC,IAAI,OAAO,CAAC,UAAC,OAAO,EAAE,MAAM;oBAC/B,IAAI,CAAC,UAAU,CAAC,UAAS,GAAG,EAAE,OAAO;wBACjC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;4BAAC,MAAM,CAAC,GAAG,CAAC,CAAC;wBAAC,CAAC;wBAAC,IAAI,CAAC,CAAC;4BAAC,OAAO,CAAC,IAAI,CAAC,CAAC;wBAAC,CAAC;oBACrD,CAAC,CAAC,CAAC;gBACP,CAAC,CAAC,CAAC;YACP,CAAC,CAAC,CAAC;QACP,CAAC;QAAC,IAAI,CAAC,CAAC;YACJ,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,EAAE,CAAC;YACtC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;gBAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,6BAA6B,CAAC,CAAC;YAAC,CAAC;YACpE,MAAM,CAAC,IAAI,OAAO,CAAC,UAAC,OAAO,EAAE,MAAM;gBAC/B,IAAI,CAAC,UAAU,CAAC,UAAS,GAAG,EAAE,OAAO;oBACjC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;wBAAC,MAAM,CAAC,GAAG,CAAC,CAAC;oBAAC,CAAC;oBAAC,IAAI,CAAC,CAAC;wBAAC,OAAO,CAAC,IAAI,CAAC,CAAC;oBAAC,CAAC;gBACrD,CAAC,CAAC,CAAC;YACP,CAAC,CAAC,CAAC;QACP,CAAC;IACL,CAAC;IAED;;;QAGI;IACI,iCAAa,GAArB;QACI,IAAM,IAAI,GAAG,IAAI,CAAC;QAClB,MAAM,CAAC,CAAC,IAAI,CAAC,oBAAoB,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,UAAA,MAAM;YAC/D,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;gBACjB,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;YACzC,CAAC;YACD,IAAI,CAAC,kBAAkB,GAAG,UAAU,CAAC;YACrC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,EAAE,CAAC;QAC1C,CAAC,CAAC,CAAC;IACP,CAAC;IAED;;;OAGG;IACU,4CAAwB,GAArC;;;;;;wBACI,MAAM,CAAC,KAAK,CAAC,mCAAmC,CAAC,CAAC;wBAC9C,aAAa,GAAG,IAAI,CAAC;;;;wBAEL,qBAAM,eAAK,CAAC,OAAO,CAAC,eAAe,CAAC,EAAA;;wBAApD,aAAa,GAAG,SAAoC,CAAC;;;;wBAErD,MAAM,CAAC,KAAK,CAAC,uCAAuC,CAAC,CAAC;;;6BAGtD,aAAa,EAAb,wBAAa;wBACb,IAAI,CAAC,IAAI,GAAG,aAAa,CAAC;wBAC1B,MAAM,CAAC,KAAK,CAAC,0CAA0C,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;wBACpE,sBAAO,IAAI,CAAC,IAAI,EAAC;;wBAGjB,MAAM,CAAC,KAAK,CAAC,yCAAyC,CAAC,CAAC;;;;wBAEpD,KAAA,IAAI,CAAA;wBAAQ,qBAAM,IAAI,CAAC,mBAAmB,EAAE,EAAA;;wBAA5C,GAAK,IAAI,GAAG,SAAgC,CAAC;wBAC7C,sBAAO,IAAI,CAAC,IAAI,EAAC;;;wBAEjB,sBAAO,OAAO,CAAC,MAAM,CAAC,mBAAmB,CAAC,EAAC;;;;;KAGtD;IAED;;;OAGG;IACI,kCAAc,GAArB;QACI,IAAI,IAAQ,CAAC;QACb,IAAM,IAAI,GAAG,IAAI,CAAC;QAClB,MAAM,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;QACxC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;YAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;QAAC,CAAC;QAC7D,EAAE,CAAC,CAAC,kBAAQ,CAAC,aAAa,CAAC,CAAC,CAAC;YACzB,MAAM,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,IAAI,CAAC,UAAA,IAAI;gBACjC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;oBACR,MAAM,CAAC,KAAK,CAAC,mCAAmC,CAAC,CAAC;oBAClD,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;gBAC7C,CAAC;gBACD,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YAClC,CAAC,CAAC,CAAC;QACP,CAAC;QAAC,IAAI,CAAC,CAAC;YACJ,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,EAAE,CAAC;YACtC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;gBACR,MAAM,CAAC,KAAK,CAAC,mCAAmC,CAAC,CAAC;gBAClD,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;YAC7C,CAAC;YACD,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAClC,CAAC;IACL,CAAC;IAED;;;;OAIG;IACI,+BAAW,GAAlB,UAAmB,IAAI;QACnB,MAAM,CAAC,IAAI,OAAO,CAAC,UAAC,OAAO,EAAE,MAAM;YAC/B,MAAM,CAAC,KAAK,CAAC,qCAAqC,EAAE,IAAI,CAAC,CAAC;YAC1D,IAAI,CAAC,UAAU,CAAC,UAAS,GAAG,EAAE,OAAO;gBACjC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;oBACN,MAAM,CAAC,KAAK,CAAC,qCAAqC,EAAE,IAAI,CAAC,CAAC;oBAC1D,MAAM,CAAC,GAAG,CAAC,CAAC;gBAChB,CAAC;gBAAC,IAAI,CAAC,CAAC;oBACJ,MAAM,CAAC,KAAK,CAAC,iCAAiC,EAAE,OAAO,CAAC,CAAC;oBACzD,OAAO,CAAC,OAAO,CAAC,CAAC;gBACrB,CAAC;YACL,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACP,CAAC;IAED;;;OAGG;IACI,0CAAsB,GAA7B;QAAA,iBAsCC;QArCG,IAAM,IAAI,GAAG,IAAI,CAAC;QAClB,MAAM,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAC;QACjD,EAAE,CAAC,CAAC,kBAAQ,CAAC,aAAa,CAAC,CAAC,CAAC;YACzB,eAAe;YACf,MAAM,CAAC,eAAK,CAAC,OAAO,CAAC,eAAe,CAAC;iBAChC,IAAI,CAAC,UAAC,aAAa;gBAChB,EAAE,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC;oBAChB,0CAA0C;oBAC1C,MAAM,CAAC,IAAI,CAAC,sBAAsB,CAAC,aAAa,CAAC,CAAC;gBACtD,CAAC;gBAAC,IAAI,CAAC,CAAC;oBACJ,MAAM,CAAC,IAAI,CAAC,cAAc,EAAE;yBACvB,IAAI,CAAC,UAAA,OAAO;wBACT,MAAM,CAAC,IAAI,CAAC,0BAA0B,CAAC,OAAO,CAAC,CAAC;oBACpD,CAAC,CAAC,CAAC,KAAK,CAAC,UAAC,KAAK;wBACX,MAAM,CAAC,IAAI,CAAC,uBAAuB,EAAE,CAAC;oBAC1C,CAAC,CAAC,CAAC;gBACX,CAAC;YACL,CAAC,CAAC,CAAC,KAAK,CAAC,UAAC,KAAK;gBACX,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACjC,CAAC,CAAC,CAAC;QACX,CAAC;QAAC,IAAI,CAAC,CAAC;YACJ,uEAAuE;YACvE,IAAM,aAAa,GAAG,eAAK,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;YACrD,EAAE,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC;gBAChB,0CAA0C;gBAC1C,MAAM,CAAC,IAAI,CAAC,sBAAsB,CAAC,aAAa,CAAC,CAAC;YACtD,CAAC;YAAC,IAAI,CAAC,CAAC;gBACJ,MAAM,CAAC,IAAI,CAAC,cAAc,EAAE;qBACvB,IAAI,CAAC,UAAA,OAAO;oBACT,MAAM,CAAC,KAAK,CAAC,yBAAyB,EAAE,OAAO,CAAC,CAAC;oBACjD,MAAM,CAAC,KAAI,CAAC,0BAA0B,CAAC,OAAO,CAAC,CAAC;gBACpD,CAAC,CAAC,CAAC,KAAK,CAAC,UAAC,KAAK;oBACX,MAAM,CAAC,KAAK,CAAC,wBAAwB,EAAE,KAAK,CAAC,CAAC;oBAC9C,MAAM,CAAC,KAAI,CAAC,uBAAuB,EAAE,CAAC;gBAC1C,CAAC,CAAC,CAAC;YACX,CAAC;QACL,CAAC;IACL,CAAC;IAEO,0CAAsB,GAA9B,UAA+B,aAAa;QAA5C,iBAgCC;QA/BG,MAAM,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC;QACtC,IAAA,iCAAQ,EAAE,yBAAI,CAAmB;QACzC,IAAI,KAAK,GAAG,aAAa,CAAC,KAAK,CAAC;QAChC,IAAI,UAAU,GAAG,aAAa,CAAC,UAAU,CAAC;QAE1C,IAAM,IAAI,GAAG,IAAI,CAAC;QAClB,MAAM,CAAC,KAAK,CAAC,yCAAyC,CAAC,CAAC;QACxD,EAAE,CAAC,CAAC,UAAU,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE;eAC9B,OAAO,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,KAAK,UAAU,CAAC,CAAC,CAAC;YAC3D,MAAM,CAAC,KAAK,CAAC,sDAAsD,CAAC,CAAC;YACrE,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,CAAC,UAAC,IAAI;gBAC/C,MAAM,CAAC,KAAK,CAAC,qCAAqC,EAAE,IAAI,CAAC,CAAC;gBAC1D,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;gBACnB,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;gBAC7B,0FAA0F;gBAC1F,MAAM,CAAC,IAAI,CAAC,6BAA6B,CAAC,EAAE,QAAQ,UAAA,EAAE,KAAK,OAAA,EAAE,IAAI,MAAA,EAAE,UAAU,YAAA,EAAE,CAAC,CAAC;YACrF,CAAC,CAAC,CAAC,KAAK,CAAC,UAAA,CAAC;gBACN,MAAM,CAAC,KAAK,CAAC,gCAAgC,EAAE,CAAC,CAAC,CAAC;gBAClD,KAAI,CAAC,gBAAgB,EAAE,CAAC;gBACxB,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,sCAAsC,GAAG,CAAC,CAAC,CAAC;YACtE,CAAC,CAAC,CAAC;QACP,CAAC;QAAC,IAAI,CAAC,CAAC;YACJ,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;gBACnC,MAAM,CAAC,KAAK,CAAC,kCAAkC,EAAE,QAAQ,CAAC,CAAC;gBAC3D,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBACxB,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,iCAAiC,CAAC,CAAC;YAC7D,CAAC;YAAC,IAAI,CAAC,CAAC;gBACJ,MAAM,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;gBAClC,MAAM,CAAC,IAAI,CAAC,6BAA6B,CAAC,EAAC,QAAQ,UAAA,EAAE,KAAK,OAAA,EAAE,IAAI,MAAA,EAAE,UAAU,YAAA,EAAE,CAAC,CAAC;YACpF,CAAC;QACL,CAAC;IACL,CAAC;IAEM,sCAAkB,GAAzB;QACI,MAAM,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAC;QAC3C,MAAM,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC;IACpC,CAAC;IAED;;;;;OAKG;IACI,uCAAmB,GAA1B,UAA2B,IAAI,EAAE,IAAI;QACjC,MAAM,CAAC,IAAI,OAAO,CAAC,UAAC,OAAO,EAAE,MAAM;YAC/B,IAAI,CAAC,4BAA4B,CAAC,IAAI,EAAE;gBACpC,SAAS,YAAC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAClC,SAAS,YAAC,GAAG,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;aAClC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACP,CAAC;IAED;;;;;;OAMG;IACI,6CAAyB,GAAhC,UAAiC,IAAI,EAAE,IAAI,EAAE,IAAI;QAC7C,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;YAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,sBAAsB,CAAC,CAAC;QAAC,CAAC;QAE7D,MAAM,CAAC,IAAI,OAAO,CAAC,UAAC,OAAO,EAAE,MAAM;YAC/B,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,IAAI,EAAE;gBAC7B,SAAS,YAAC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAClC,SAAS,YAAC,GAAG,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;aAClC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACP,CAAC;IAED,8CAA0B,GAA1B,UAA2B,IAAI;QAC3B,IAAM,IAAI,GAAG,IAAI,CAAC;QAClB,MAAM,CAAC,IAAI,CAAC,mBAAmB,EAAE;aAC5B,IAAI,CAAC,UAAA,IAAI,IAAI,OAAA,IAAI,CAAC,mBAAmB,CAAC,IAAI,EAAE,IAAI,CAAC,EAApC,CAAoC,CAAC,CAAC;IAC5D,CAAC;IAED;;;;;OAKG;IACH,oDAAgC,GAAhC,UAAiC,IAAI,EAAE,IAAI;QACvC,IAAM,IAAI,GAAG,IAAI,CAAC;QAClB,MAAM,CAAC,IAAI,CAAC,mBAAmB,EAAE;aAC5B,IAAI,CAAC,UAAA,IAAI,IAAI,OAAA,IAAI,CAAC,yBAAyB,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,EAAhD,CAAgD,CAAC,CAAC;IACxE,CAAC;IACD;;;OAGG;IACU,2BAAO,GAApB;;;;;;;wBAEQ,qBAAM,IAAI,CAAC,gBAAgB,EAAE,EAAA;;wBAA7B,SAA6B,CAAC;;;;wBAE9B,MAAM,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC;;;wBAG3C,MAAM,GAAG,IAAI,CAAC,kBAAkB,CAAC;wBACvC,EAAE,CAAC,CAAC,MAAM,KAAK,KAAK,IAAI,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC;4BAC5C,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;gCAAC,MAAM,gBAAC,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC,EAAC;4BAAC,CAAC;4BACvD,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,EAAE,CAAC;4BAC5C,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;gCAAC,MAAM,gBAAC,OAAO,CAAC,OAAO,EAAE,EAAC;4BAAC,CAAC;4BACxC,MAAM,CAAC,KAAK,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC;4BACpC,IAAI,CAAC,OAAO,EAAE,CAAC;4BACf,EAAE,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC;gCAC1B,IAAI,CAAC,kBAAkB,CAAC,OAAO,EAAE,CAAC;4BACtC,CAAC;wBACL,CAAC;wBAEK,IAAI,GAAG,IAAI,CAAC;wBAClB,sBAAO,IAAI,OAAO,CAAC,UAAC,OAAO,EAAE,MAAM;gCAC/B,IAAI,CAAC,uBAAuB,EAAE,CAAC,IAAI,CAAC,UAAC,IAAI;oCACrC,iBAAiB,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;oCACxC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;oCACjB,OAAO,EAAE,CAAC;gCACd,CAAC,CAAC,CAAC,KAAK,CAAC,UAAC,CAAC;oCACP,MAAM,CAAC,KAAK,CAAC,wDAAwD,CAAC,CAAC;oCACvE,iBAAiB,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;oCACxC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;oCACjB,OAAO,EAAE,CAAC;gCACd,CAAC,CAAC,CAAC;4BACP,CAAC,CAAC,EAAC;;;;KACN;IAEa,oCAAgB,GAA9B;;;;;;wBAEU,KAA8C,IAAI,CAAC,OAAO,EAAxD,cAAc,oBAAA,EAAE,MAAM,YAAA,EAAE,eAAe,qBAAA,CAAkB;wBACjE,EAAE,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC;4BAEX,WAAW,GAAG,IAAI,0BAA0B,CAC9C;gCACA,cAAc,EAAE,cAAc;6BACjC,EAAG;gCACA,MAAM,QAAA;6BACT,CAAC,CAAC;4BACH,WAAW,CAAC,aAAa,EAAE,CAAC;wBAChC,CAAC;wBAED,sBAAsB;wBACtB,qBAAM,eAAK,CAAC,UAAU,CAAC,eAAe,CAAC,EAAA;;wBADvC,sBAAsB;wBACtB,SAAuC,CAAC;wBACxC,qBAAM,eAAK,CAAC,UAAU,CAAC,eAAe,CAAC,EAAA;;wBAAvC,SAAuC,CAAC;;;;;KAC3C;IAED;;;;;;OAMG;IACI,kCAAc,GAArB,UAAsB,IAAS,EAAE,WAAmB,EAAE,WAAmB;QACrE,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;aACxB,IAAI,CAAC,UAAA,OAAO;YACT,MAAM,CAAC,IAAI,OAAO,CAAC,UAAC,OAAO,EAAE,MAAM;gBAC/B,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,WAAW,EAAE,UAAC,GAAG,EAAE,IAAI;oBACpD,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;wBACN,MAAM,CAAC,KAAK,CAAC,yBAAyB,EAAE,GAAG,CAAC,CAAC;wBAC7C,MAAM,CAAC,GAAG,CAAC,CAAC;oBAChB,CAAC;oBAAC,IAAI,CAAC,CAAC;wBACJ,OAAO,CAAC,IAAI,CAAC,CAAC;oBAClB,CAAC;gBACL,CAAC,CAAC,CAAC;YACP,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACX,CAAC;IAED;;;;OAIG;IACI,kCAAc,GAArB,UAAsB,QAAgB;QAClC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;YAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;QAAC,CAAC;QAC7D,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;YAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,0BAA0B,CAAC,CAAC;QAAC,CAAC;QAErE,IAAM,IAAI,GAAG,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;QAC9C,MAAM,CAAC,IAAI,OAAO,CAAC,UAAC,OAAO,EAAE,MAAM;YAC/B,IAAI,CAAC,cAAc,CAAC;gBAChB,SAAS,EAAE,cAAQ,OAAO,EAAE,CAAC,CAAC,CAAC;gBAC/B,SAAS,EAAE,UAAA,GAAG;oBACV,MAAM,CAAC,KAAK,CAAC,yBAAyB,EAAE,GAAG,CAAC,CAAC;oBAC7C,MAAM,CAAC,GAAG,CAAC,CAAC;gBAChB,CAAC;gBACD,qBAAqB,EAAE,UAAA,IAAI;oBACvB,OAAO,CAAC,IAAI,CAAC,CAAC;gBAClB,CAAC;aACJ,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACP,CAAC;IAED;;;;;;OAMG;IACI,wCAAoB,GAA3B,UACI,QAAgB,EAChB,IAAY,EACZ,QAAgB;QAEhB,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;YAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;QAAC,CAAC;QAC7D,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;YAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,0BAA0B,CAAC,CAAC;QAAC,CAAC;QACrE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;YAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,sBAAsB,CAAC,CAAC;QAAC,CAAC;QAC7D,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;YAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,0BAA0B,CAAC,CAAC;QAAC,CAAC;QAErE,IAAM,IAAI,GAAG,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;QAC9C,MAAM,CAAC,IAAI,OAAO,CAAC,UAAC,OAAO,EAAE,MAAM;YAC/B,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,QAAQ,EAAE;gBACjC,SAAS,EAAE,cAAQ,OAAO,EAAE,CAAC,CAAC,CAAC;gBAC/B,SAAS,EAAE,UAAA,GAAG,IAAM,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;aACrC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACP,CAAC;IAED;;;;OAIG;IACU,mCAAe,GAA5B;;;;;;wBACU,MAAM,GAAG,IAAI,CAAC,kBAAkB,CAAC;6BAEnC,CAAA,CAAC,MAAM,IAAI,MAAM,KAAK,KAAK,IAAI,MAAM,KAAK,UAAU,CAAA,EAApD,wBAAoD;wBACvC,qBAAM,IAAI,CAAC,mBAAmB,EAAE;iCACxC,KAAK,CAAC,UAAA,GAAG,IAAI,OAAA,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,EAAjB,CAAiB,CAAC,EAAA;;wBAD9B,IAAI,GAAG,SACuB;wBACpC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;4BAAC,MAAM,gBAAC,IAAI,EAAC;wBAAC,CAAC;;;;wBAGJ,qBAAM,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,EAAA;;wBAA5C,UAAU,GAAG,SAA+B;wBAC5C,SAAS,GAAU,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC;wBAEvD,IAAI,GAAG;4BACT,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,UAAU;4BACjC,UAAU,EAAE,IAAI,CAAC,QAAQ;4BACzB,YAAY,EAAE,SAAS;yBAC1B,CAAC;wBACF,sBAAO,IAAI,EAAC;;;wBAEZ,MAAM,CAAC,KAAK,CAAC,uBAAuB,EAAE,KAAG,CAAC,CAAC;wBAC3C,sBAAO,EAAE,EAAC;;wBAIlB,EAAE,CAAC,CAAC,MAAM,KAAK,WAAW,CAAC,CAAC,CAAC;4BACnB,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;4BACvB,MAAM,gBAAC,IAAI,CAAA,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAC;wBAC3B,CAAC;;;;;KACJ;IAEM,yCAAqB,GAA5B;IAGA,CAAC;IAED;;;;;;OAMG;IACA,mCAAe,GAAtB,UAAuB,QAAgB,EAAE,QAA2B,EAAE,IAAY;QAAlF,iBAYK;QAXW,IAAA,sBAAK,EAAE,gCAAU,CAAc;QACvC,IAAM,IAAI,GAAG,IAAI,CAAC;QAClB,MAAM,CAAC,IAAI,OAAO,CAAC,UAAC,GAAG,EAAE,GAAG;YACxB,IAAI,CAAC,6BAA6B,CAAC,EAAE,QAAQ,UAAA,EAAE,KAAK,OAAA,EAAE,IAAI,MAAA,EAAE,UAAU,YAAA,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,IAAI;gBAChF,iBAAiB,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;gBACvC,MAAM,CAAC,KAAK,CAAC,+BAA+B,EAAE,KAAI,CAAC,WAAW,CAAC,CAAC;gBAChE,GAAG,CAAC,IAAI,CAAC,CAAC;YACd,CAAC,CAAC,CAAC,KAAK,CAAC,UAAA,CAAC;gBACN,GAAG,CAAC,CAAC,CAAC,CAAC;YACX,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACP,CAAC;IAED;;;;OAIG;IACI,wCAAoB,GAA3B,UAA4B,WAAW;QACnC,MAAM,CAAC;YACH,WAAW,EAAE,WAAW,CAAC,WAAW;YACpC,YAAY,EAAE,WAAW,CAAC,YAAY;YACtC,eAAe,EAAE,WAAW,CAAC,eAAe;YAC5C,UAAU,EAAE,WAAW,CAAC,UAAU;YAClC,aAAa,EAAE,WAAW,CAAC,aAAa;SAC3C,CAAC;IACN,CAAC;IAEO,sCAAkB,GAA1B,UAA2B,UAAU;QACjC,IAAM,GAAG,GAAG,EAAE,CAAC;QACf,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;YACb,UAAU,CAAC,GAAG,CAAC,UAAA,SAAS;gBACpB,EAAE,CAAC,CAAC,SAAS,CAAC,IAAI,KAAK,KAAK,CAAC;oBAAC,MAAM,CAAC;gBAErC,EAAE,CAAC,CAAC,SAAS,CAAC,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC;oBAC7B,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;gBAC/B,CAAC;gBAAC,IAAI,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,KAAK,KAAK,OAAO,CAAC,CAAC,CAAC;oBACrC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;gBAChC,CAAC;gBAAC,IAAI,CAAC,CAAC;oBACJ,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC;gBAC1C,CAAC;YACL,CAAC,CAAC,CAAC;QACP,CAAC;QACD,MAAM,CAAC,GAAG,CAAC;IACf,CAAC;IAEO,qCAAiB,GAAzB;QACI,MAAM,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC;QACvC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,mBAAmB,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;YACrE,MAAM,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;YACzC,EAAE,CAAC,CAAC,YAAG,CAAC,MAAM,IAAI,YAAG,CAAC,MAAM,CAAC,WAAW,IAAI,YAAG,CAAC,MAAM,CAAC,WAAW,YAAY,WAAW,CAAC,CAAC,CAAC;gBACxF,IAAI,CAAC,mBAAmB,GAAG,WAAE,CAAC,mBAAmB,CAAC,IAAI,CAAC,sBAAsB,EAAE,CAAC,CAAC;YACrF,CAAC;YAAC,IAAI,CAAC,CAAC;gBACJ,IAAI,CAAC,mBAAmB,GAAG,WAAE,CAAC,mBAAmB,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;YACxE,CAAC;QACL,CAAC;QAAC,IAAI,CAAC,CAAC;YACJ,MAAM,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;QAC7C,CAAC;QAED,MAAM,CAAC,IAAI,CAAC,mBAAmB,CAAC;IACpC,CAAC;IAEO,0CAAsB,GAA9B;QACI,IAAM,WAAW,GAAG,YAAG,CAAC,MAAM,CAAC,WAAW,CAAC;QAC3C,MAAM,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC;QAC7C,IAAM,IAAI,GAAG,IAAI,CAAC;QAClB,EAAE,CAAC,CAAC,WAAW,YAAY,WAAW,CAAC,CAAA,CAAC;YACpC,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;QACtE,CAAC;QAAC,IAAI,CAAC,CAAC;YACJ,MAAM,CAAC,KAAK,CAAC,8DAA8D,CAAC,CAAC;YAC7E,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,8DAA8D,CAAC,CAAC;QAC1F,CAAC;IACL,CAAC;IAEO,2CAAuB,GAA/B;QACI,MAAM,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC;QACxC,IAAA,iBAA0D,EAAxD,kCAAc,EAAE,kBAAM,EAAE,oCAAe,CAAkB;QACjE,EAAE,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC;YAClB,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,4DAA4D,CAAC,CAAC;QACxF,CAAC;QAED,IAAM,WAAW,GAAG,IAAI,0BAA0B,CAC9C;YACA,cAAc,EAAE,cAAc;SACjC,EAAG;YACA,MAAM,QAAA;SACT,CAAC,CAAC;QAEH,IAAM,IAAI,GAAG,IAAI,CAAC;QAClB,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;IACpE,CAAC;IAEO,8CAA0B,GAAlC,UAAmC,OAAO;QACtC,MAAM,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC;QAC7C,IAAM,OAAO,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC,WAAW,EAAE,CAAC;QAC7C,IAAA,iBAAqD,EAAnD,kBAAM,EAAE,0BAAU,EAAE,kCAAc,CAAkB;QAC5D,IAAM,GAAG,GAAG,cAAc,GAAG,MAAM,GAAG,iBAAiB,GAAG,UAAU,CAAC;QACrE,IAAM,MAAM,GAAG,EAAE,CAAC;QAClB,MAAM,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC;QACtB,IAAM,WAAW,GAAG,IAAI,0BAA0B,CAC9C;YACA,cAAc,EAAE,cAAc;YAC9B,MAAM,EAAE,MAAM;SACjB,EAAG;YACA,MAAM,QAAA;SACT,CAAC,CAAC;QAEH,IAAM,IAAI,GAAG,IAAI,CAAC;QAClB,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IACtE,CAAC;IAGO,iDAA6B,GAArC,UAAsC,MAAM;QAChC,IAAA,0BAAQ,EAAE,oBAAK,EAAE,kBAAI,EAAE,8BAAU,CAAY;QACrD,IAAM,OAAO,GAAG;YACZ,QAAQ,EAAE,qBAAqB;YAC/B,UAAU,EAAE,oBAAoB;YAChC,QAAQ,EAAE,gBAAgB;YAC1B,WAAW,EAAE,gCAAgC;SAChD,CAAC;QAEF,yDAAyD;QACzD,IAAM,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC;QAC7C,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;YACV,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,uCAAuC,CAAC,CAAC;QACnE,CAAC;QAED,IAAM,MAAM,GAAG,EAAE,CAAC;QAClB,MAAM,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC;QAEjB,IAAA,iBAAyC,EAAvC,kCAAc,EAAE,kBAAM,CAAkB;QAChD,IAAM,WAAW,GAAG,IAAI,YAAG,CAAC,0BAA0B,CAClD;YACA,cAAc,EAAE,cAAc;YAC9B,MAAM,EAAE,MAAM;SACjB,EAAG;YACA,MAAM,QAAA;SACT,CAAC,CAAC;QAEH,eAAK,CAAC,OAAO,CAAC,eAAe,EAAE,EAAE,QAAQ,UAAA,EAAE,KAAK,OAAA,EAAE,IAAI,MAAA,EAAE,UAAU,YAAA,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC;QACvF,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IACvE,CAAC;IAEO,oCAAgB,GAAxB,UAAyB,WAAW,EAAE,MAAM,EAAE,aAAa,EAAE,OAAO;QAApE,iBAwBC;QAvBG,IAAM,IAAI,GAAG,IAAI,CAAC;QAClB,MAAM,CAAC,IAAI,OAAO,CAAC,UAAC,GAAG,EAAE,GAAG;YACxB,WAAW,CAAC,UAAU,EAAE,CAAC,IAAI,CACzB;gBACI,MAAM,CAAC,KAAK,CAAC,+BAA+B,EAAE,WAAW,CAAC,CAAC;gBAC3D,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;gBAC/B,IAAI,CAAC,WAAW,CAAC,aAAa,GAAG,aAAa,CAAC;gBAC/C,IAAI,CAAC,kBAAkB,GAAG,MAAM,CAAC;gBACjC,EAAE,CAAC,CAAC,MAAM,KAAK,WAAW,CAAC,CAAC,CAAC;oBACzB,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,MAAM,CACrB,EAAE,EAAE,EAAE,KAAI,CAAC,WAAW,CAAC,UAAU,EAAE,EACnC,OAAO,CACV,CAAC;oBACF,eAAK,CAAC,OAAO,CAAC,eAAe,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC;gBAC/D,CAAC;gBACD,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAC1B,CAAC,EACD,UAAC,GAAG;gBACA,MAAM,CAAC,KAAK,CAAC,4BAA4B,EAAE,WAAW,CAAC,CAAC;gBACxD,GAAG,CAAC,6BAA6B,CAAC,CAAC;YACvC,CAAC,CACJ,CAAC;QACN,CAAC,CAAC,CAAC;IACP,CAAC;IAEO,6BAAS,GAAjB;QACI,MAAM,CAAC,KAAK,CAAC,gDAAgD,CAAC,CAAC;QAC/D,IAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC;QAC9B,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACjC,MAAM,CAAC,KAAK,CAAC,0DAA0D,CAAC,CAAC;YACzE,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACjC,CAAC;QAED,MAAM,CAAC,KAAK,CAAC,0DAA0D,CAAC,CAAC;QACzE,MAAM,CAAC,IAAI,CAAC,sBAAsB,EAAE,CAAC;IACzC,CAAC;IAEO,qCAAiB,GAAzB,UAA0B,QAAgB;QACtC,IAAM,QAAQ,GAAqB;YAC/B,QAAQ,EAAE,QAAQ;YAClB,IAAI,EAAE,IAAI,CAAC,QAAQ;SACtB,CAAC;QAEM,IAAA,0CAAa,CAAkB;QACvC,EAAE,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC;YAChB,QAAQ,CAAC,OAAO,GAAG,IAAI,aAAa,CAAC,aAAa,CAAC,CAAC;QACxD,CAAC;QAED,MAAM,CAAC,IAAI,WAAW,CAAC,QAAQ,CAAC,CAAC;IACrC,CAAC;IAEO,8BAAU,GAAlB,UAAmB,WAAW;QAC1B,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC;YACf,MAAM,CAAC,KAAK,CAAC,qCAAqC,CAAC,CAAC;YACpD,MAAM,CAAC,IAAI,CAAC;QAChB,CAAC;QACD,MAAM,CAAC,KAAK,CAAC,8BAA8B,EAAE,WAAW,CAAC,CAAC;QAC1D,IAAM,EAAE,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;QAChC,IAAM,KAAK,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,aAAa;QACnC,IAAA,6BAAO,EAAE,mCAAU,CAAiB;QAC5C,EAAE,CAAC,CAAC,CAAC,OAAO,IAAI,UAAU,GAAG,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC;YACtC,MAAM,CAAC,KAAK,CAAC;QACjB,CAAC;QACD,MAAM,CAAC,IAAI,CAAC;IAChB,CAAC;IACL,gBAAC;AAAD,CAAC,AArsCD,IAqsCC"} \ No newline at end of file diff --git a/packages/aws-amplify/lib/Auth/types/Auth.d.ts b/packages/aws-amplify/lib/Auth/types/Auth.d.ts index bb21024beed..0398785bcc0 100644 --- a/packages/aws-amplify/lib/Auth/types/Auth.d.ts +++ b/packages/aws-amplify/lib/Auth/types/Auth.d.ts @@ -33,3 +33,11 @@ export interface FederatedResponse { token: string; expires_at: number; } +export interface hostedUIOptions { + AppWebDomain: string; + TokenScopesArray: Array; + RedirectUriSignIn: string; + RedirectUriSignOut: string; + AdvancedSecurityDataCollectionFlag: boolean; + ResponseType: string; +} diff --git a/packages/aws-amplify/src/Auth/Auth.ts b/packages/aws-amplify/src/Auth/Auth.ts index 8c3b417ed53..308bc2652a7 100644 --- a/packages/aws-amplify/src/Auth/Auth.ts +++ b/packages/aws-amplify/src/Auth/Auth.ts @@ -11,7 +11,7 @@ * and limitations under the License. */ -import { AuthOptions, FederatedResponse } from './types'; +import { AuthOptions, FederatedResponse, hostedUIOptions } from './types'; import { AWS, @@ -123,19 +123,33 @@ export default class AuthClass { }, hostedUIOptions ); + const type = hostedUIOptions['ResponseType']; this._cognitoAuthClient = new CognitoHostedUI.CognitoAuth(cognitoAuthParams); this._cognitoAuthClient.userhandler = { - onSuccess: (result) => { - that.user = that.userPool.getCurrentUser(); - dispatchAuthEvent('signIn', that.user); - logger.debug("Cognito Hosted authentication result", result, that.user); - }, - onFailure: (err) => { - logger.debug("Error in cognito hosted auth response", err); - } - }; - const curUrl = window.location.href; - this._cognitoAuthClient.parseCognitoWebResponse(curUrl); + // user signed in + onSuccess: (result) => { + that.user = that.userPool.getCurrentUser(); + logger.debug("Cognito Hosted authentication result", result); + that.currentSession().then((session) => { + that._setCredentialsFromSession(session).then((cred) => { + logger.debug('sign in succefully with', cred); + dispatchAuthEvent('signIn', that.user); + }); + }); + + }, + onFailure: (err) => { + logger.debug("Error in cognito hosted auth response", err); + } + }; + // if not logged in, try to parse the url. + this.currentAuthenticatedUser().then(() => { + logger.debug('user already logged in'); + }).catch(e => { + logger.debug('not logged in, try to parse the url'); + const curUrl = window.location.href; + this._cognitoAuthClient.parseCognitoWebResponse(curUrl); + }) logger.debug('hostedUIOptions configured'); } @@ -667,6 +681,7 @@ export default class AuthClass { * @return - A promise resolves to curret authenticated CognitoUser if success */ public async currentAuthenticatedUser(): Promise { + logger.debug('getting current authenticted user'); let federatedUser = null; try { federatedUser = await Cache.getItem('federatedUser'); @@ -697,16 +712,22 @@ export default class AuthClass { public currentSession() : Promise { let user:any; const that = this; - logger.debug('getting current session'); + logger.debug('Getting current session'); if (!this.userPool) { return Promise.reject('No userPool'); } if (Platform.isReactNative) { return this.getSyncedUser().then(user => { - if (!user) { return Promise.reject('No current user'); } + if (!user) { + logger.debug('Failed to get user from user pool'); + return Promise.reject('No current user'); + } return that.userSession(user); }); } else { user = this.userPool.getCurrentUser(); - if (!user) { return Promise.reject('No current user'); } + if (!user) { + logger.debug('Failed to get user from user pool'); + return Promise.reject('No current user'); + } return this.userSession(user); } } @@ -718,9 +739,15 @@ export default class AuthClass { */ public userSession(user) : Promise { return new Promise((resolve, reject) => { - logger.debug(user); + logger.debug('Getting the session from this user:', user); user.getSession(function(err, session) { - if (err) { reject(err); } else { resolve(session); } + if (err) { + logger.debug('Failed to get the session from user', user); + reject(err); + } else { + logger.debug('Succeed to get the user session', session); + resolve(session); + } }); }); } @@ -731,7 +758,7 @@ export default class AuthClass { */ public currentUserCredentials() : Promise { const that = this; - logger.debug('getting current user credential'); + logger.debug('Getting current user credentials'); if (Platform.isReactNative) { // asyncstorage return Cache.getItem('federatedInfo') @@ -770,6 +797,7 @@ export default class AuthClass { } private _refreshFederatedToken(federatedInfo) { + logger.debug('Getting federated credentials'); const { provider, user } = federatedInfo; let token = federatedInfo.token; let expires_at = federatedInfo.expires_at; @@ -803,6 +831,7 @@ export default class AuthClass { } public currentCredentials(): Promise { + logger.debug('getting current credntials'); return this.pickupCredentials(); } @@ -1204,12 +1233,14 @@ public federatedSignIn(provider: string, response: FederatedResponse, user: obje } private keepAlive() { + logger.debug('checking if credentials exists and not expired'); const cred = this.credentials; if (cred && !this._isExpired(cred)) { - logger.debug('not changed, directly return credentials'); + logger.debug('credentials not changed and not expired, directly return'); return Promise.resolve(cred); } + logger.debug('need to get a new credential or refresh the existing one'); return this.currentUserCredentials(); } diff --git a/packages/aws-amplify/src/Auth/types/Auth.ts b/packages/aws-amplify/src/Auth/types/Auth.ts index ba5d293dac4..1d98fb48a78 100644 --- a/packages/aws-amplify/src/Auth/types/Auth.ts +++ b/packages/aws-amplify/src/Auth/types/Auth.ts @@ -52,3 +52,12 @@ export interface FederatedResponse { // the universal time when token expired expires_at: number } + +export interface hostedUIOptions { + AppWebDomain : string, + TokenScopesArray : Array, + RedirectUriSignIn : string, + RedirectUriSignOut : string, + AdvancedSecurityDataCollectionFlag : boolean + ResponseType: string +} diff --git a/yarn.lock b/yarn.lock index 63413496708..e6736d9355f 100644 --- a/yarn.lock +++ b/yarn.lock @@ -189,12 +189,6 @@ align-text@^0.1.1, align-text@^0.1.3: longest "^1.0.1" repeat-string "^1.5.2" -amazon-cognito-auth-js@^1.1.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/amazon-cognito-auth-js/-/amazon-cognito-auth-js-1.1.4.tgz#8861694754563da2f9991ced8615de6ba3fcd615" - dependencies: - buffer "4.9.1" - amdefine@>=0.0.4: version "1.0.1" resolved "https://registry.yarnpkg.com/amdefine/-/amdefine-1.0.1.tgz#4a5282ac164729e93619bcfd3ad151f817ce91f5" From 957d7eab3d7fe84c7e57f72fa4b5484798928547 Mon Sep 17 00:00:00 2001 From: powerful23 Date: Tue, 3 Apr 2018 13:38:53 -0700 Subject: [PATCH 06/22] documentation updated --- docs/media/authentication_guide.md | 88 +++++++ .../__snapshots__/withCognito-test.js.snap | 7 + .../Auth/Provider/withCognito-test.js | 49 ++++ .../dist/Auth/FederatedSignIn.js | 35 +-- .../dist/Auth/Provider/index.js | 29 +-- .../src/Auth/Provider/withCognito.jsx | 4 - .../__tests__/Auth/auth-unit-test-rn.ts | 26 ++- .../__tests__/Auth/auth-unit-test.ts | 220 ++++++++++++++++-- .../__tests__/Auth/totp-unit-test.ts | 27 ++- packages/aws-amplify/lib/Auth/Auth.d.ts | 3 - packages/aws-amplify/lib/Auth/Auth.js | 84 ++----- packages/aws-amplify/lib/Auth/Auth.js.map | 2 +- packages/aws-amplify/lib/Auth/types/Auth.d.ts | 9 - packages/aws-amplify/lib/Common/Facet.d.ts | 3 +- packages/aws-amplify/lib/Common/Facet.js | 2 - packages/aws-amplify/lib/Common/Facet.js.map | 2 +- packages/aws-amplify/lib/Common/Parser.js | 22 +- packages/aws-amplify/lib/Common/Parser.js.map | 2 +- packages/aws-amplify/src/Auth/Auth.ts | 15 +- 19 files changed, 421 insertions(+), 208 deletions(-) create mode 100644 packages/aws-amplify-react/__tests__/Auth/Provider/__snapshots__/withCognito-test.js.snap create mode 100644 packages/aws-amplify-react/__tests__/Auth/Provider/withCognito-test.js diff --git a/docs/media/authentication_guide.md b/docs/media/authentication_guide.md index 13bd916e172..80735babd4c 100644 --- a/docs/media/authentication_guide.md +++ b/docs/media/authentication_guide.md @@ -352,6 +352,94 @@ const federated = { There is also `withGoogle`, `withFacebook`, `withAmazon` components, in case you need to customize a single provider. +### Cognito Hosted UI + +Cognito hosted UI provides general availability of a Built-in Customizable User Experience for Sign-in, OAuth 2.0 Support, and Federation with Facebook, Login with Amazon, Google, and SAML providers for User Pools. + +#### Setup your Cognito App Client + +First you need to setup your App Client in the Cognito User Pool console. + +* Go to: App integration -> App client settings + * Select Identity Providers + * Input your Callback URL and Sign out URL. + * Select OAuth Flows (Authorization code grant is the recommended choice for security reasons) + * Choose OAuth Scopes + +* Go to: App integration -> Domain name + * Input the domain prefix for sign-up and sign-in pages hosted by Cognito + +To add federation provider + +* Go to: Federation -> Identity providers + * Select the federated identity provider + * Input required configuration like App Id, App secret, Authorized scope + * Set the Oauth Redirected URI in your Facebook/Google app's setting page to: + + ```https://your-domain-prefix.auth.us-east-1.amazoncognito.com/oauth2/idpresponse``` + +* Go to Federation -> Attribute mapping + * Map Federation Provider attributes to corresponding User pool attributes. Please make sure at least Email is correctly mapped. + +* Don't forget to select this provider in the App client settings +#### Integrate it into your App + +* You need to pass your hosted ui options into Amplify: +```js +import Amplify from 'aws-amplify'; + +const hostedUIOptions = { + AppWebDomain : 'your-domain-prefix.auth.us-east-1.amazoncognito.com', // Domain name + TokenScopesArray : ['phone', 'email', 'profile', 'openid', 'aws.cognito.signin.user.admin'], // Authorized scopes, + RedirectUriSignIn : 'http://localhost:3000/', // Callback URL + RedirectUriSignOut : 'http://localhost:3000/', // Sign out URL + AdvancedSecurityDataCollectionFlag : true, // indicating if the data collection is enabled to support cognito advanced security features. By default, this flag is set to true. + ResponseType: 'code' // 'code' for Authorization code grant, 'token' for Implicit grant +} + +Amplify.configure({ + Auth: { + // other configurations... + // .... + hostedUIOptions: hostedUIOptions + }, + // ... +}); +``` + +* If you are using ```aws-amplify-react```: + * You will see a button ```Sign in with AWS``` showed up in your login page when you are using the HOC ```withAuthenticator``` or using the ```Authenticator``` component. + * You can also import the HOC provided and wrap your own component with it, for example: + ```jsx + import { withCognito } from 'aws-amplify-react'; + + class MyComp extends React.Component { + // ... + render() { + return( + + + ) + } + } + + export default withCognito(MyComp); + ``` + +* If you are NOT using ```aws-amplify-react```: + * you need to construct the url yourself: + ```js + const config = Auth.configure(); + const { + AppWebDomain, + RedirectUriSignIn, + RedirectUriSignOut, + ResponseType } = config.hostedUIOptions; + const clientId = config.userPoolWebClientId; + const url = 'https://' + AppWebDomain + '/login?redirect_uri=' + RedirectUriSignIn + '&response_type=' + ResponseType + '&client_id=' + clientId; + window.location.assign(url); + ``` + ### Enabling MFA (Multi-Factor Authentication) Multi-factor authentication (MFA) increases security for your app by adding an authentication method and not relying solely on username (or alias) and password. AWS Amplify uses Amazon Cognito to provide MFA. Please see [Amazon Cognito Developer Guide](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-settings-mfa.html) for more information about setting up MFA in Amazon Cognito. diff --git a/packages/aws-amplify-react/__tests__/Auth/Provider/__snapshots__/withCognito-test.js.snap b/packages/aws-amplify-react/__tests__/Auth/Provider/__snapshots__/withCognito-test.js.snap new file mode 100644 index 00000000000..0ffdf500e74 --- /dev/null +++ b/packages/aws-amplify-react/__tests__/Auth/Provider/__snapshots__/withCognito-test.js.snap @@ -0,0 +1,7 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`withCognito test render test render correctly 1`] = ` + +`; diff --git a/packages/aws-amplify-react/__tests__/Auth/Provider/withCognito-test.js b/packages/aws-amplify-react/__tests__/Auth/Provider/withCognito-test.js new file mode 100644 index 00000000000..efb3a3d326e --- /dev/null +++ b/packages/aws-amplify-react/__tests__/Auth/Provider/withCognito-test.js @@ -0,0 +1,49 @@ +import React, { Component } from 'react'; +import withCognito, { CognitoButton } from '../../../src/Auth/Provider/withCognito'; +import { SignInButton, Button } from '../../../src/AmplifyUI'; +import { Auth } from 'aws-amplify'; + +describe('withCognito test', () => { + describe('render test', () => { + test('render correctly', () => { + const MockComp = class extends Component { + render() { + return
; + } + } + + const Comp = withCognito(MockComp); + const wrapper = shallow(); + expect(wrapper).toMatchSnapshot(); + }); + }); + + describe('signIn test', () => { + test('happy case with connected response', () => { + const MockComp = class extends Component { + render() { + return
; + } + } + + const spyon = jest.spyOn(Auth, 'configure').mockImplementationOnce(() => { + return { + hostedUIOptions: { + AppWebDomain: 'domain', + RedirectUriSignIn: 'redirectUriSignIn', + RedirectUriSignOut: 'redirectUriSignOut', + ResponseType: 'responseType' + }, + userPoolWebClientId: 'userPoolWebClientId' + } + }) + const Comp = withCognito(MockComp); + const wrapper = shallow(); + const comp = wrapper.instance(); + + comp.signIn(); + + spyon.mockClear(); + }); + }); +}); \ No newline at end of file diff --git a/packages/aws-amplify-react/dist/Auth/FederatedSignIn.js b/packages/aws-amplify-react/dist/Auth/FederatedSignIn.js index c6e69587dde..4010a6f9b98 100644 --- a/packages/aws-amplify-react/dist/Auth/FederatedSignIn.js +++ b/packages/aws-amplify-react/dist/Auth/FederatedSignIn.js @@ -103,27 +103,6 @@ var FederatedButtons = exports.FederatedButtons = function (_Component) { return amazon; }() - }, { - key: 'cognito', - value: function () { - function cognito(cognito_auth) { - if (!cognito_auth) { - return null; - } - var _props4 = this.props, - theme = _props4.theme, - onStateChange = _props4.onStateChange; - - return _react2['default'].createElement(_Provider.CognitoButton, { - authData: cognito_auth.authData, - label: cognito_auth.label, - theme: theme, - onStateChange: onStateChange - }); - } - - return cognito; - }() }, { key: 'render', value: function () { @@ -141,8 +120,7 @@ var FederatedButtons = exports.FederatedButtons = function (_Component) { var google_client_id = federated.google_client_id, facebook_app_id = federated.facebook_app_id, - amazon_client_id = federated.amazon_client_id, - cognito_auth = federated.cognito_auth; + amazon_client_id = federated.amazon_client_id; var theme = this.props.theme || _AmplifyTheme2['default']; @@ -151,8 +129,7 @@ var FederatedButtons = exports.FederatedButtons = function (_Component) { { theme: theme }, this.google(google_client_id), this.facebook(facebook_app_id), - this.amazon(amazon_client_id), - this.cognito(cognito_auth) + this.amazon(amazon_client_id) ); } @@ -176,10 +153,10 @@ var FederatedSignIn = function (_Component2) { key: 'render', value: function () { function render() { - var _props5 = this.props, - federated = _props5.federated, - authState = _props5.authState, - onStateChange = _props5.onStateChange; + var _props4 = this.props, + federated = _props4.federated, + authState = _props4.authState, + onStateChange = _props4.onStateChange; if (!federated) { logger.debug('federated prop is empty. show nothing'); diff --git a/packages/aws-amplify-react/dist/Auth/Provider/index.js b/packages/aws-amplify-react/dist/Auth/Provider/index.js index 5d990f56408..74ab1d795d8 100644 --- a/packages/aws-amplify-react/dist/Auth/Provider/index.js +++ b/packages/aws-amplify-react/dist/Auth/Provider/index.js @@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true }); -exports.CognitoButton = exports.withCognito = exports.AmazonButton = exports.withAmazon = exports.FacebookButton = exports.withFacebook = exports.GoogleButton = exports.withGoogle = undefined; +exports.AmazonButton = exports.withAmazon = exports.FacebookButton = exports.withFacebook = exports.GoogleButton = exports.withGoogle = undefined; var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; @@ -77,29 +77,6 @@ Object.defineProperty(exports, 'AmazonButton', { return get; }() }); - -var _withCognito = require('./withCognito'); - -Object.defineProperty(exports, 'withCognito', { - enumerable: true, - get: function () { - function get() { - return _interopRequireDefault(_withCognito)['default']; - } - - return get; - }() -}); -Object.defineProperty(exports, 'CognitoButton', { - enumerable: true, - get: function () { - function get() { - return _withCognito.CognitoButton; - } - - return get; - }() -}); exports.withFederated = withFederated; var _react = require('react'); @@ -112,8 +89,6 @@ var _withFacebook2 = _interopRequireDefault(_withFacebook); var _withAmazon2 = _interopRequireDefault(_withAmazon); -var _withCognito2 = _interopRequireDefault(_withCognito); - function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } @@ -123,7 +98,7 @@ function _possibleConstructorReturn(self, call) { if (!self) { throw new Referen function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } function withFederated(Comp) { - var Federated = (0, _withCognito2['default'])((0, _withAmazon2['default'])((0, _withGoogle2['default'])((0, _withFacebook2['default'])(Comp)))); + var Federated = (0, _withAmazon2['default'])((0, _withGoogle2['default'])((0, _withFacebook2['default'])(Comp))); return function (_Component) { _inherits(_class, _Component); diff --git a/packages/aws-amplify-react/src/Auth/Provider/withCognito.jsx b/packages/aws-amplify-react/src/Auth/Provider/withCognito.jsx index 2d32decaff9..e1f7a3b1a81 100644 --- a/packages/aws-amplify-react/src/Auth/Provider/withCognito.jsx +++ b/packages/aws-amplify-react/src/Auth/Provider/withCognito.jsx @@ -14,10 +14,6 @@ export default function withCognito(Comp) { this.state = {}; } - componentDidMount() { - - } - signIn() { const config = Auth.configure(); const { diff --git a/packages/aws-amplify/__tests__/Auth/auth-unit-test-rn.ts b/packages/aws-amplify/__tests__/Auth/auth-unit-test-rn.ts index ab671402c75..2f88a6c8f97 100644 --- a/packages/aws-amplify/__tests__/Auth/auth-unit-test-rn.ts +++ b/packages/aws-amplify/__tests__/Auth/auth-unit-test-rn.ts @@ -148,23 +148,27 @@ import Cache from '../../src/Cache'; import { CognitoUserPool, CognitoUser, CognitoUserSession, CognitoIdToken, CognitoAccessToken } from 'amazon-cognito-identity-js'; import { CognitoIdentityCredentials } from 'aws-sdk'; -const authOptions: AuthOptions = { - userPoolId: "awsUserPoolsId", - userPoolWebClientId: "awsUserPoolsWebClientId", - region: "region", - identityPoolId: "awsCognitoIdentityPoolId" +const authOptions = { + Auth: { + userPoolId: "awsUserPoolsId", + userPoolWebClientId: "awsUserPoolsWebClientId", + region: "region", + identityPoolId: "awsCognitoIdentityPoolId" + } } const authOptionsWithNoUserPoolId = { - userPoolId: null, - userPoolWebClientId: "awsUserPoolsWebClientId", - region: "region", - identityPoolId: "awsCognitoIdentityPoolId" + Auth: { + userPoolId: null, + userPoolWebClientId: "awsUserPoolsWebClientId", + region: "region", + identityPoolId: "awsCognitoIdentityPoolId" + } } const userPool = new CognitoUserPool({ - UserPoolId: authOptions.userPoolId, - ClientId: authOptions.userPoolWebClientId + UserPoolId: authOptions.Auth.userPoolId, + ClientId: authOptions.Auth.userPoolWebClientId }); const idToken = new CognitoIdToken({IdToken: 'idToken'}); diff --git a/packages/aws-amplify/__tests__/Auth/auth-unit-test.ts b/packages/aws-amplify/__tests__/Auth/auth-unit-test.ts index 46e4d4b558d..5fbb59f683e 100644 --- a/packages/aws-amplify/__tests__/Auth/auth-unit-test.ts +++ b/packages/aws-amplify/__tests__/Auth/auth-unit-test.ts @@ -133,6 +133,17 @@ jest.mock('amazon-cognito-identity-js/lib/CognitoUser', () => { return CognitoUser; }); +jest.mock('amazon-cognito-auth-js/lib/CognitoAuth', () => { + const CognitoAuth = () => {}; + + CognitoAuth.prototype.parseCognitoWebResponse = () => { + CognitoAuth.prototype.userhandler.onSuccess(); + throw 'err'; + } + + return CognitoAuth; +}); + jest.mock('../../src/Common/Builder', () => { return { default: null @@ -144,24 +155,29 @@ import Auth from '../../src/Auth/Auth'; import Cache from '../../src/Cache'; import { CookieStorage, CognitoUserPool, CognitoUser, CognitoUserSession, CognitoIdToken, CognitoAccessToken } from 'amazon-cognito-identity-js'; import { CognitoIdentityCredentials, Credentials } from 'aws-sdk'; - -const authOptions: AuthOptions = { - userPoolId: "awsUserPoolsId", - userPoolWebClientId: "awsUserPoolsWebClientId", - region: "region", - identityPoolId: "awsCognitoIdentityPoolId" +import GoogleOAuth from '../../src/Common/OAuthHelper/GoogleOAuth'; + +const authOptions = { + Auth: { + userPoolId: "awsUserPoolsId", + userPoolWebClientId: "awsUserPoolsWebClientId", + region: "region", + identityPoolId: "awsCognitoIdentityPoolId" + } } const authOptionsWithNoUserPoolId = { - userPoolId: null, - userPoolWebClientId: "awsUserPoolsWebClientId", - region: "region", - identityPoolId: "awsCognitoIdentityPoolId" + Auth: { + userPoolId: null, + userPoolWebClientId: "awsUserPoolsWebClientId", + region: "region", + identityPoolId: "awsCognitoIdentityPoolId" + } } const userPool = new CognitoUserPool({ - UserPoolId: authOptions.userPoolId, - ClientId: authOptions.userPoolWebClientId + UserPoolId: authOptions.Auth.userPoolId, + ClientId: authOptions.Auth.userPoolWebClientId }); const idToken = new CognitoIdToken({IdToken: 'idToken'}); @@ -487,6 +503,78 @@ describe('auth unit test', () => { spyon.mockClear(); }); + test('mfaSetup', async () => { + const spyon = jest.spyOn(CognitoUser.prototype, "authenticateUser") + .mockImplementationOnce((authenticationDetails, callback) => { + callback.mfaSetup('challengeName', 'challengeParam'); + }); + const auth = new Auth(authOptions); + const user = new CognitoUser({ + Username: 'username', + Pool: userPool + }); + const userAfterSignedIn = Object.assign( + {}, + user, + { + "challengeName": "challengeName", + "challengeParam": "challengeParam" + }); + + expect.assertions(1); + expect(await auth.signIn('username', 'password')).toEqual(userAfterSignedIn); + + spyon.mockClear(); + }); + + test('totpRequired', async () => { + const spyon = jest.spyOn(CognitoUser.prototype, "authenticateUser") + .mockImplementationOnce((authenticationDetails, callback) => { + callback.totpRequired('challengeName', 'challengeParam'); + }); + const auth = new Auth(authOptions); + const user = new CognitoUser({ + Username: 'username', + Pool: userPool + }); + const userAfterSignedIn = Object.assign( + {}, + user, + { + "challengeName": "challengeName", + "challengeParam": "challengeParam" + }); + + expect.assertions(1); + expect(await auth.signIn('username', 'password')).toEqual(userAfterSignedIn); + + spyon.mockClear(); + }); + + test('selectMFAType', async () => { + const spyon = jest.spyOn(CognitoUser.prototype, "authenticateUser") + .mockImplementationOnce((authenticationDetails, callback) => { + callback.selectMFAType('challengeName', 'challengeParam'); + }); + const auth = new Auth(authOptions); + const user = new CognitoUser({ + Username: 'username', + Pool: userPool + }); + const userAfterSignedIn = Object.assign( + {}, + user, + { + "challengeName": "challengeName", + "challengeParam": "challengeParam" + }); + + expect.assertions(1); + expect(await auth.signIn('username', 'password')).toEqual(userAfterSignedIn); + + spyon.mockClear(); + }); + test('newPasswordRequired', async () => { const spyon = jest.spyOn(CognitoUser.prototype, "authenticateUser") .mockImplementationOnce((authenticationDetails, callback) => { @@ -883,15 +971,14 @@ describe('auth unit test', () => { }); describe('currentUserCredentials test', () => { - test('with federated info', async () => { + test('with federated info and not expired', async () => { const auth = new Auth(authOptions); const spyon = jest.spyOn(Cache, 'getItem') .mockImplementationOnce(() => { return { provider: 'google', - token: 'token', - user: {name: 'user'} + token: 'token' } }); @@ -900,6 +987,84 @@ describe('auth unit test', () => { spyon.mockClear(); }); + + test('with federated info and expired, then refresh it successfully', async () => { + const auth = new Auth(authOptions); + + const spyon = jest.spyOn(Cache, 'getItem') + .mockImplementationOnce(() => { + return { + provider: 'google', + token: 'token', + expires_at: 0 + } + }); + + auth._refreshHandlers = { + google: () => { + return Promise.resolve({ + token: 'new_token', + expires_at: 1 + }); + } + } + expect.assertions(1); + expect(await auth.currentUserCredentials()).not.toBeUndefined(); + + spyon.mockClear(); + }); + + test('with federated info and expired, no refresh handler provided', async () => { + const auth = new Auth(authOptions); + + const spyon = jest.spyOn(Cache, 'getItem') + .mockImplementationOnce(() => { + return { + provider: 'google', + token: 'token', + expires_at: 0 + } + }); + + auth._refreshHandlers = null; + expect.assertions(1); + try { + await auth.currentUserCredentials(); + } catch (e) { + expect(e).not.toBeNull(); + } + + spyon.mockClear(); + }); + + test('with federated info and expired, then refresh failed', async () => { + const auth = new Auth(authOptions); + + const spyon = jest.spyOn(Cache, 'getItem') + .mockImplementationOnce(() => { + return { + provider: 'google', + token: 'token', + expires_at: 0 + } + }); + + auth._refreshHandlers = { + google: () => { + return Promise.reject('err'); + } + } + expect.assertions(1); + try { + await auth.currentUserCredentials(); + } catch (e) { + expect(e).not.toBeNull(); + } + + spyon.mockClear(); + }); + + }); describe('currentCrendentials', () => { @@ -1697,6 +1862,31 @@ describe('auth unit test', () => { }); }); + describe('hosted ui test', () => { + test('happy case', () => { + const hostedUIOptions = {}; + + const authOptions = { + Auth: { + userPoolId: "awsUserPoolsId", + userPoolWebClientId: "awsUserPoolsWebClientId", + region: "region", + identityPoolId: "awsCognitoIdentityPoolId", + hostedUIOptions + } + }; + const spyon = jest.spyOn(Auth.prototype, 'currentAuthenticatedUser').mockImplementationOnce(() => { + return Promise.reject('err'); + }); + + + const auth = new Auth(authOptions); + expect(spyon).toBeCalled(); + + spyon.mockClear(); + + }); + }); }); diff --git a/packages/aws-amplify/__tests__/Auth/totp-unit-test.ts b/packages/aws-amplify/__tests__/Auth/totp-unit-test.ts index 56520959ce4..86c264c74c8 100644 --- a/packages/aws-amplify/__tests__/Auth/totp-unit-test.ts +++ b/packages/aws-amplify/__tests__/Auth/totp-unit-test.ts @@ -166,23 +166,28 @@ import Cache from '../../src/Cache'; import { CognitoUserPool, CognitoUser, CognitoUserSession, CognitoIdToken, CognitoAccessToken } from 'amazon-cognito-identity-js'; import { CognitoIdentityCredentials } from 'aws-sdk'; -const authOptions: AuthOptions = { - userPoolId: "awsUserPoolsId", - userPoolWebClientId: "awsUserPoolsWebClientId", - region: "region", - identityPoolId: "awsCognitoIdentityPoolId" + +const authOptions = { + Auth: { + userPoolId: "awsUserPoolsId", + userPoolWebClientId: "awsUserPoolsWebClientId", + region: "region", + identityPoolId: "awsCognitoIdentityPoolId" + } } const authOptionsWithNoUserPoolId = { - userPoolId: null, - userPoolWebClientId: "awsUserPoolsWebClientId", - region: "region", - identityPoolId: "awsCognitoIdentityPoolId" + Auth: { + userPoolId: null, + userPoolWebClientId: "awsUserPoolsWebClientId", + region: "region", + identityPoolId: "awsCognitoIdentityPoolId" + } } const userPool = new CognitoUserPool({ - UserPoolId: authOptions.userPoolId, - ClientId: authOptions.userPoolWebClientId + UserPoolId: authOptions.Auth.userPoolId, + ClientId: authOptions.Auth.userPoolWebClientId }); const idToken = new CognitoIdToken({IdToken: 'idToken'}); diff --git a/packages/aws-amplify/lib/Auth/Auth.d.ts b/packages/aws-amplify/lib/Auth/Auth.d.ts index 45deddc054b..a5986573a7c 100644 --- a/packages/aws-amplify/lib/Auth/Auth.d.ts +++ b/packages/aws-amplify/lib/Auth/Auth.d.ts @@ -6,13 +6,11 @@ export default class AuthClass { private _config; private _userPoolStorageSync; private userPool; - private _cognitoAuthClient; private credentials; private credentials_source; private user; private _refreshHandlers; private _gettingCredPromise; - private _signedInWith; /** * Initialize Auth with AWS configurations * @param {Object} config - Configuration of the Auth @@ -197,7 +195,6 @@ export default class AuthClass { * @return {Object }- current User's information */ currentUserInfo(): Promise; - cognitoHostedUISignIn(): void; /** * For federated login * @param {String} provider - federation login provider diff --git a/packages/aws-amplify/lib/Auth/Auth.js b/packages/aws-amplify/lib/Auth/Auth.js index fed55676058..86e4ab1cb02 100644 --- a/packages/aws-amplify/lib/Auth/Auth.js +++ b/packages/aws-amplify/lib/Auth/Auth.js @@ -66,7 +66,6 @@ var AuthClass = /** @class */ (function () { */ function AuthClass(config) { this.userPool = null; - this._cognitoAuthClient = null; this.credentials = null; this.credentials_source = ''; // aws, guest, userPool, federated this.user = null; @@ -85,15 +84,22 @@ var AuthClass = /** @class */ (function () { } AuthClass.prototype.configure = function (config) { var _this = this; - if (!config) - return this._config; logger.debug('configure Auth'); - var conf = Object.assign({}, this._config, Common_1.Parser.parseMobilehubConfig(config).Auth); - this._config = conf; + var conf = config ? config.Auth || config : {}; + if (conf['aws_cognito_identity_pool_id']) { + conf = { + userPoolId: conf['aws_user_pools_id'], + userPoolWebClientId: conf['aws_user_pools_web_client_id'], + region: conf['aws_cognito_region'], + identityPoolId: conf['aws_cognito_identity_pool_id'], + mandatorySignIn: conf['aws_mandatory_sign_in'] === 'enable' ? true : false + }; + } + this._config = Object.assign({}, this._config, conf); if (!this._config.identityPoolId) { logger.debug('Do not have identityPoolId yet.'); } - var _a = this._config, userPoolId = _a.userPoolId, userPoolWebClientId = _a.userPoolWebClientId, cookieStorage = _a.cookieStorage, hostedUIOptions = _a.hostedUIOptions; + var _a = this._config, userPoolId = _a.userPoolId, userPoolWebClientId = _a.userPoolWebClientId, cookieStorage = _a.cookieStorage; if (userPoolId) { var userPoolData = { UserPoolId: userPoolId, @@ -117,41 +123,6 @@ var AuthClass = /** @class */ (function () { }); } } - // initiailize cognitoauth client if hosted ui options provided - if (hostedUIOptions) { - var that_1 = this; - var cognitoAuthParams = Object.assign({ - ClientId: userPoolWebClientId, - UserPoolId: userPoolId - }, hostedUIOptions); - var type = hostedUIOptions['ResponseType']; - this._cognitoAuthClient = new Common_1.CognitoHostedUI.CognitoAuth(cognitoAuthParams); - this._cognitoAuthClient.userhandler = { - // user signed in - onSuccess: function (result) { - that_1.user = that_1.userPool.getCurrentUser(); - logger.debug("Cognito Hosted authentication result", result); - that_1.currentSession().then(function (session) { - that_1._setCredentialsFromSession(session).then(function (cred) { - logger.debug('sign in succefully with', cred); - dispatchAuthEvent('signIn', that_1.user); - }); - }); - }, - onFailure: function (err) { - logger.debug("Error in cognito hosted auth response", err); - } - }; - // if not logged in, try to parse the url. - this.currentAuthenticatedUser().then(function () { - logger.debug('user already logged in'); - }).catch(function (e) { - logger.debug('not logged in, try to parse the url'); - var curUrl = window.location.href; - _this._cognitoAuthClient.parseCognitoWebResponse(curUrl); - }); - logger.debug('hostedUIOptions configured'); - } dispatchAuthEvent('configured', null); return this._config; }; @@ -727,7 +698,6 @@ var AuthClass = /** @class */ (function () { return __generator(this, function (_b) { switch (_b.label) { case 0: - logger.debug('getting current authenticted user'); federatedUser = null; _b.label = 1; case 1: @@ -770,14 +740,13 @@ var AuthClass = /** @class */ (function () { AuthClass.prototype.currentSession = function () { var user; var that = this; - logger.debug('Getting current session'); + logger.debug('getting current session'); if (!this.userPool) { return Promise.reject('No userPool'); } if (Platform_1.default.isReactNative) { return this.getSyncedUser().then(function (user) { if (!user) { - logger.debug('Failed to get user from user pool'); return Promise.reject('No current user'); } return that.userSession(user); @@ -786,7 +755,6 @@ var AuthClass = /** @class */ (function () { else { user = this.userPool.getCurrentUser(); if (!user) { - logger.debug('Failed to get user from user pool'); return Promise.reject('No current user'); } return this.userSession(user); @@ -799,14 +767,12 @@ var AuthClass = /** @class */ (function () { */ AuthClass.prototype.userSession = function (user) { return new Promise(function (resolve, reject) { - logger.debug('Getting the session from this user:', user); + logger.debug(user); user.getSession(function (err, session) { if (err) { - logger.debug('Failed to get the session from user', user); reject(err); } else { - logger.debug('Succeed to get the user session', session); resolve(session); } }); @@ -819,7 +785,7 @@ var AuthClass = /** @class */ (function () { AuthClass.prototype.currentUserCredentials = function () { var _this = this; var that = this; - logger.debug('Getting current user credentials'); + logger.debug('getting current user credential'); if (Platform_1.default.isReactNative) { // asyncstorage return Cache_1.default.getItem('federatedInfo') @@ -861,7 +827,6 @@ var AuthClass = /** @class */ (function () { }; AuthClass.prototype._refreshFederatedToken = function (federatedInfo) { var _this = this; - logger.debug('Getting federated credentials'); var provider = federatedInfo.provider, user = federatedInfo.user; var token = federatedInfo.token; var expires_at = federatedInfo.expires_at; @@ -895,7 +860,6 @@ var AuthClass = /** @class */ (function () { } }; AuthClass.prototype.currentCredentials = function () { - logger.debug('getting current credntials'); return this.pickupCredentials(); }; /** @@ -972,13 +936,9 @@ var AuthClass = /** @class */ (function () { return [2 /*return*/, Promise.reject('No userPool')]; } user = this.userPool.getCurrentUser(); - if (!user) { - return [2 /*return*/, Promise.resolve()]; - } - logger.debug('user sign out', user); - user.signOut(); - if (this._cognitoAuthClient) { - this._cognitoAuthClient.signOut(); + if (user) { + logger.debug('user sign out', user); + user.signOut(); } } that = this; @@ -1150,8 +1110,6 @@ var AuthClass = /** @class */ (function () { }); }); }; - AuthClass.prototype.cognitoHostedUISignIn = function () { - }; /** * For federated login * @param {String} provider - federation login provider @@ -1162,6 +1120,8 @@ var AuthClass = /** @class */ (function () { AuthClass.prototype.federatedSignIn = function (provider, response, user) { var _this = this; var token = response.token, expires_at = response.expires_at; + // store it into localstorage + // Cache.setItem('federatedInfo', { provider, token, user, expires_at }, { priority: 1 }); var that = this; return new Promise(function (res, rej) { that._setCredentialsFromFederation({ provider: provider, token: token, user: user, expires_at: expires_at }).then(function (cred) { @@ -1310,13 +1270,11 @@ var AuthClass = /** @class */ (function () { }); }; AuthClass.prototype.keepAlive = function () { - logger.debug('checking if credentials exists and not expired'); var cred = this.credentials; if (cred && !this._isExpired(cred)) { - logger.debug('credentials not changed and not expired, directly return'); + logger.debug('not changed, directly return credentials'); return Promise.resolve(cred); } - logger.debug('need to get a new credential or refresh the existing one'); return this.currentUserCredentials(); }; AuthClass.prototype.createCognitoUser = function (username) { diff --git a/packages/aws-amplify/lib/Auth/Auth.js.map b/packages/aws-amplify/lib/Auth/Auth.js.map index 2198a7f0af7..78bf163bee2 100644 --- a/packages/aws-amplify/lib/Auth/Auth.js.map +++ b/packages/aws-amplify/lib/Auth/Auth.js.map @@ -1 +1 @@ -{"version":3,"file":"Auth.js","sourceRoot":"","sources":["../../src/Auth/Auth.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"Auth.js","sourceRoot":"","sources":["../../src/Auth/Auth.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/packages/aws-amplify/lib/Auth/types/Auth.d.ts b/packages/aws-amplify/lib/Auth/types/Auth.d.ts index 0398785bcc0..77aa12f5880 100644 --- a/packages/aws-amplify/lib/Auth/types/Auth.d.ts +++ b/packages/aws-amplify/lib/Auth/types/Auth.d.ts @@ -17,7 +17,6 @@ export interface AuthOptions { region?: string; mandatorySignIn: boolean; cookieStorage?: ICookieStorageData; - hostedUIOptions?: object; } /** * Details for multi-factor authentication @@ -33,11 +32,3 @@ export interface FederatedResponse { token: string; expires_at: number; } -export interface hostedUIOptions { - AppWebDomain: string; - TokenScopesArray: Array; - RedirectUriSignIn: string; - RedirectUriSignOut: string; - AdvancedSecurityDataCollectionFlag: boolean; - ResponseType: string; -} diff --git a/packages/aws-amplify/lib/Common/Facet.d.ts b/packages/aws-amplify/lib/Common/Facet.d.ts index 6de49753f9b..d487d072740 100644 --- a/packages/aws-amplify/lib/Common/Facet.d.ts +++ b/packages/aws-amplify/lib/Common/Facet.d.ts @@ -3,5 +3,4 @@ import * as AWS from 'aws-sdk/global'; import * as Cognito from 'amazon-cognito-identity-js'; import * as Pinpoint from 'aws-sdk/clients/pinpoint'; import * as MobileAnalytics from 'aws-sdk/clients/mobileanalytics'; -import * as CognitoHostedUI from 'amazon-cognito-auth-js'; -export { AWS, S3, Cognito, Pinpoint, MobileAnalytics, CognitoHostedUI }; +export { AWS, S3, Cognito, Pinpoint, MobileAnalytics }; diff --git a/packages/aws-amplify/lib/Common/Facet.js b/packages/aws-amplify/lib/Common/Facet.js index 97211ea0ba0..b3b19dc3a68 100644 --- a/packages/aws-amplify/lib/Common/Facet.js +++ b/packages/aws-amplify/lib/Common/Facet.js @@ -23,6 +23,4 @@ var Pinpoint = require("aws-sdk/clients/pinpoint"); exports.Pinpoint = Pinpoint; var MobileAnalytics = require("aws-sdk/clients/mobileanalytics"); exports.MobileAnalytics = MobileAnalytics; -var CognitoHostedUI = require("amazon-cognito-auth-js"); -exports.CognitoHostedUI = CognitoHostedUI; //# sourceMappingURL=Facet.js.map \ No newline at end of file diff --git a/packages/aws-amplify/lib/Common/Facet.js.map b/packages/aws-amplify/lib/Common/Facet.js.map index 9423808e51d..a05a01bf19b 100644 --- a/packages/aws-amplify/lib/Common/Facet.js.map +++ b/packages/aws-amplify/lib/Common/Facet.js.map @@ -1 +1 @@ -{"version":3,"file":"Facet.js","sourceRoot":"","sources":["../../src/Common/Facet.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;GAWG;;AAEH,yCAAyC;AACzC,uCAAyC;AAO5B,gBAAE;AANf,oCAAsC;AAM9B,kBAAG;AALX,oDAAsD;AAKrC,0BAAO;AAJxB,mDAAqD;AAI3B,4BAAQ;AAHlC,iEAAmE;AAG/B,0CAAe;AAFnD,wDAA0D;AAEL,0CAAe"} \ No newline at end of file +{"version":3,"file":"Facet.js","sourceRoot":"","sources":["../../src/Common/Facet.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;GAWG;;AAEH,yCAAyC;AACzC,uCAAyC;AAM5B,gBAAE;AALf,oCAAsC;AAK9B,kBAAG;AAJX,oDAAsD;AAIrC,0BAAO;AAHxB,mDAAqD;AAG3B,4BAAQ;AAFlC,iEAAmE;AAE/B,0CAAe"} \ No newline at end of file diff --git a/packages/aws-amplify/lib/Common/Parser.js b/packages/aws-amplify/lib/Common/Parser.js index 2138f98e4e1..b198fd43015 100644 --- a/packages/aws-amplify/lib/Common/Parser.js +++ b/packages/aws-amplify/lib/Common/Parser.js @@ -1,7 +1,5 @@ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -var Common_1 = require("../Common"); -var logger = new Common_1.ConsoleLogger('Parser'); var Parser = /** @class */ (function () { function Parser() { } @@ -9,26 +7,12 @@ var Parser = /** @class */ (function () { var amplifyConfig = {}; // Analytics if (config['aws_mobile_analytics_app_id']) { - var Analytics = { - appId: config['aws_mobile_analytics_app_id'], - region: config['aws_mobile_analytics_app_region'] - }; + var Analytics = {}; + Analytics['appId'] = config['aws_mobile_analytics_app_id']; + Analytics['region'] = config['aws_mobile_analytics_app_region']; amplifyConfig.Analytics = Analytics; } - // Auth - if (config['aws_cognito_identity_pool_id']) { - var Auth = { - userPoolId: config['aws_user_pools_id'], - userPoolWebClientId: config['aws_user_pools_web_client_id'], - region: config['aws_cognito_region'], - identityPoolId: config['aws_cognito_identity_pool_id'], - mandatorySignIn: config['aws_mandatory_sign_in'] === 'enable' ? true : false - }; - amplifyConfig.Auth = Auth; - } amplifyConfig.Analytics = Object.assign({}, amplifyConfig.Analytics, config.Analytics); - amplifyConfig.Auth = Object.assign({}, amplifyConfig.Auth, config.Auth); - logger.debug('parse config', config, 'to amplifyconfig', amplifyConfig); return amplifyConfig; }; return Parser; diff --git a/packages/aws-amplify/lib/Common/Parser.js.map b/packages/aws-amplify/lib/Common/Parser.js.map index 699b1ceb9d0..c445b1acb6b 100644 --- a/packages/aws-amplify/lib/Common/Parser.js.map +++ b/packages/aws-amplify/lib/Common/Parser.js.map @@ -1 +1 @@ -{"version":3,"file":"Parser.js","sourceRoot":"","sources":["../../src/Common/Parser.ts"],"names":[],"mappings":";;AACA,oCAAoD;AAEpD,IAAM,MAAM,GAAG,IAAI,sBAAM,CAAC,QAAQ,CAAC,CAAC;AAEpC;IAAA;IA6BA,CAAC;IA5BU,2BAAoB,GAA3B,UAA4B,MAAM;QAC9B,IAAM,aAAa,GAAkB,EAAE,CAAC;QACxC,YAAY;QACZ,EAAE,CAAC,CAAC,MAAM,CAAC,6BAA6B,CAAC,CAAC,CAAC,CAAC;YACxC,IAAM,SAAS,GAAG;gBACd,KAAK,EAAE,MAAM,CAAC,6BAA6B,CAAC;gBAC5C,MAAM,EAAE,MAAM,CAAC,iCAAiC,CAAC;aACpD,CAAC;YACF,aAAa,CAAC,SAAS,GAAG,SAAS,CAAC;QACxC,CAAC;QAED,OAAO;QACP,EAAE,CAAC,CAAC,MAAM,CAAC,8BAA8B,CAAC,CAAC,CAAC,CAAC;YACzC,IAAM,IAAI,GAAG;gBACT,UAAU,EAAE,MAAM,CAAC,mBAAmB,CAAC;gBACvC,mBAAmB,EAAE,MAAM,CAAC,8BAA8B,CAAC;gBAC3D,MAAM,EAAE,MAAM,CAAC,oBAAoB,CAAC;gBACpC,cAAc,EAAE,MAAM,CAAC,8BAA8B,CAAC;gBACtD,eAAe,EAAE,MAAM,CAAC,uBAAuB,CAAC,KAAK,QAAQ,CAAA,CAAC,CAAC,IAAI,CAAA,CAAC,CAAC,KAAK;aAC7E,CAAC;YACF,aAAa,CAAC,IAAI,GAAG,IAAI,CAAC;QAC9B,CAAC;QAED,aAAa,CAAC,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,aAAa,CAAC,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;QACvF,aAAa,CAAC,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,aAAa,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;QACxE,MAAM,CAAC,KAAK,CAAC,cAAc,EAAE,MAAM,EAAE,kBAAkB,EAAE,aAAa,CAAC,CAAC;QACxE,MAAM,CAAC,aAAa,CAAC;IACzB,CAAC;IACL,aAAC;AAAD,CAAC,AA7BD,IA6BC"} \ No newline at end of file +{"version":3,"file":"Parser.js","sourceRoot":"","sources":["../../src/Common/Parser.ts"],"names":[],"mappings":";;AAEA;IAAA;IAcA,CAAC;IAbU,2BAAoB,GAA3B,UAA4B,MAAM;QAC9B,IAAM,aAAa,GAAkB,EAAE,CAAC;QACxC,YAAY;QACZ,EAAE,CAAC,CAAC,MAAM,CAAC,6BAA6B,CAAC,CAAC,CAAC,CAAC;YACxC,IAAM,SAAS,GAAG,EAAE,CAAC;YACrB,SAAS,CAAC,OAAO,CAAC,GAAG,MAAM,CAAC,6BAA6B,CAAC,CAAC;YAC3D,SAAS,CAAC,QAAQ,CAAC,GAAG,MAAM,CAAC,iCAAiC,CAAC,CAAC;YAChE,aAAa,CAAC,SAAS,GAAG,SAAS,CAAC;QACxC,CAAC;QAED,aAAa,CAAC,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,aAAa,CAAC,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;QACvF,MAAM,CAAC,aAAa,CAAC;IACzB,CAAC;IACL,aAAC;AAAD,CAAC,AAdD,IAcC"} \ No newline at end of file diff --git a/packages/aws-amplify/src/Auth/Auth.ts b/packages/aws-amplify/src/Auth/Auth.ts index 308bc2652a7..4a1b64b2f87 100644 --- a/packages/aws-amplify/src/Auth/Auth.ts +++ b/packages/aws-amplify/src/Auth/Auth.ts @@ -36,6 +36,8 @@ const { Credentials } = AWS; +const { CognitoAuth } = CognitoHostedUI; + const { CookieStorage, CognitoUserPool, @@ -63,7 +65,6 @@ export default class AuthClass { private _refreshHandlers = {}; private _gettingCredPromise = null; - private _signedInWith /** * Initialize Auth with AWS configurations @@ -124,7 +125,7 @@ export default class AuthClass { hostedUIOptions ); const type = hostedUIOptions['ResponseType']; - this._cognitoAuthClient = new CognitoHostedUI.CognitoAuth(cognitoAuthParams); + this._cognitoAuthClient = new CognitoAuth(cognitoAuthParams); this._cognitoAuthClient.userhandler = { // user signed in onSuccess: (result) => { @@ -136,7 +137,6 @@ export default class AuthClass { dispatchAuthEvent('signIn', that.user); }); }); - }, onFailure: (err) => { logger.debug("Error in cognito hosted auth response", err); @@ -149,7 +149,7 @@ export default class AuthClass { logger.debug('not logged in, try to parse the url'); const curUrl = window.location.href; this._cognitoAuthClient.parseCognitoWebResponse(curUrl); - }) + }); logger.debug('hostedUIOptions configured'); } @@ -1050,11 +1050,6 @@ export default class AuthClass { } } - public cognitoHostedUISignIn() { - - - } - /** * For federated login * @param {String} provider - federation login provider @@ -1062,7 +1057,7 @@ export default class AuthClass { * and the expiration time (the universal time) * @param {String} user - user info */ -public federatedSignIn(provider: string, response: FederatedResponse, user: object) { + public federatedSignIn(provider: string, response: FederatedResponse, user: object) { const { token, expires_at } = response; const that = this; return new Promise((res, rej) => { From 711bc549205ad2a5eb633a1c523c012a4695adca Mon Sep 17 00:00:00 2001 From: powerful23 Date: Tue, 3 Apr 2018 13:45:09 -0700 Subject: [PATCH 07/22] mionr change --- packages/aws-amplify/lib/Auth/Auth.d.ts | 1 + packages/aws-amplify/lib/Auth/Auth.js | 83 ++++++++++++++----- packages/aws-amplify/lib/Auth/Auth.js.map | 2 +- packages/aws-amplify/lib/Auth/types/Auth.d.ts | 9 ++ packages/aws-amplify/lib/Common/Facet.d.ts | 3 +- packages/aws-amplify/lib/Common/Facet.js | 2 + packages/aws-amplify/lib/Common/Facet.js.map | 2 +- packages/aws-amplify/lib/Common/Parser.js | 22 ++++- packages/aws-amplify/lib/Common/Parser.js.map | 2 +- yarn.lock | 4 + 10 files changed, 102 insertions(+), 28 deletions(-) diff --git a/packages/aws-amplify/lib/Auth/Auth.d.ts b/packages/aws-amplify/lib/Auth/Auth.d.ts index a5986573a7c..acba9a67b2f 100644 --- a/packages/aws-amplify/lib/Auth/Auth.d.ts +++ b/packages/aws-amplify/lib/Auth/Auth.d.ts @@ -6,6 +6,7 @@ export default class AuthClass { private _config; private _userPoolStorageSync; private userPool; + private _cognitoAuthClient; private credentials; private credentials_source; private user; diff --git a/packages/aws-amplify/lib/Auth/Auth.js b/packages/aws-amplify/lib/Auth/Auth.js index 86e4ab1cb02..aec07da376e 100644 --- a/packages/aws-amplify/lib/Auth/Auth.js +++ b/packages/aws-amplify/lib/Auth/Auth.js @@ -52,6 +52,7 @@ var Platform_1 = require("../Common/Platform"); var Cache_1 = require("../Cache"); var logger = new Common_1.ConsoleLogger('AuthClass'); var CognitoIdentityCredentials = Common_1.AWS.CognitoIdentityCredentials, Credentials = Common_1.AWS.Credentials; +var CognitoAuth = Common_1.CognitoHostedUI.CognitoAuth; var CookieStorage = Common_1.Cognito.CookieStorage, CognitoUserPool = Common_1.Cognito.CognitoUserPool, CognitoUserAttribute = Common_1.Cognito.CognitoUserAttribute, CognitoUser = Common_1.Cognito.CognitoUser, AuthenticationDetails = Common_1.Cognito.AuthenticationDetails; var dispatchAuthEvent = function (event, data) { Common_1.Hub.dispatch('auth', { event: event, data: data }, 'Auth'); @@ -66,6 +67,7 @@ var AuthClass = /** @class */ (function () { */ function AuthClass(config) { this.userPool = null; + this._cognitoAuthClient = null; this.credentials = null; this.credentials_source = ''; // aws, guest, userPool, federated this.user = null; @@ -84,22 +86,15 @@ var AuthClass = /** @class */ (function () { } AuthClass.prototype.configure = function (config) { var _this = this; + if (!config) + return this._config; logger.debug('configure Auth'); - var conf = config ? config.Auth || config : {}; - if (conf['aws_cognito_identity_pool_id']) { - conf = { - userPoolId: conf['aws_user_pools_id'], - userPoolWebClientId: conf['aws_user_pools_web_client_id'], - region: conf['aws_cognito_region'], - identityPoolId: conf['aws_cognito_identity_pool_id'], - mandatorySignIn: conf['aws_mandatory_sign_in'] === 'enable' ? true : false - }; - } - this._config = Object.assign({}, this._config, conf); + var conf = Object.assign({}, this._config, Common_1.Parser.parseMobilehubConfig(config).Auth); + this._config = conf; if (!this._config.identityPoolId) { logger.debug('Do not have identityPoolId yet.'); } - var _a = this._config, userPoolId = _a.userPoolId, userPoolWebClientId = _a.userPoolWebClientId, cookieStorage = _a.cookieStorage; + var _a = this._config, userPoolId = _a.userPoolId, userPoolWebClientId = _a.userPoolWebClientId, cookieStorage = _a.cookieStorage, hostedUIOptions = _a.hostedUIOptions; if (userPoolId) { var userPoolData = { UserPoolId: userPoolId, @@ -123,6 +118,41 @@ var AuthClass = /** @class */ (function () { }); } } + // initiailize cognitoauth client if hosted ui options provided + if (hostedUIOptions) { + var that_1 = this; + var cognitoAuthParams = Object.assign({ + ClientId: userPoolWebClientId, + UserPoolId: userPoolId + }, hostedUIOptions); + var type = hostedUIOptions['ResponseType']; + this._cognitoAuthClient = new CognitoAuth(cognitoAuthParams); + this._cognitoAuthClient.userhandler = { + // user signed in + onSuccess: function (result) { + that_1.user = that_1.userPool.getCurrentUser(); + logger.debug("Cognito Hosted authentication result", result); + that_1.currentSession().then(function (session) { + that_1._setCredentialsFromSession(session).then(function (cred) { + logger.debug('sign in succefully with', cred); + dispatchAuthEvent('signIn', that_1.user); + }); + }); + }, + onFailure: function (err) { + logger.debug("Error in cognito hosted auth response", err); + } + }; + // if not logged in, try to parse the url. + this.currentAuthenticatedUser().then(function () { + logger.debug('user already logged in'); + }).catch(function (e) { + logger.debug('not logged in, try to parse the url'); + var curUrl = window.location.href; + _this._cognitoAuthClient.parseCognitoWebResponse(curUrl); + }); + logger.debug('hostedUIOptions configured'); + } dispatchAuthEvent('configured', null); return this._config; }; @@ -698,6 +728,7 @@ var AuthClass = /** @class */ (function () { return __generator(this, function (_b) { switch (_b.label) { case 0: + logger.debug('getting current authenticted user'); federatedUser = null; _b.label = 1; case 1: @@ -740,13 +771,14 @@ var AuthClass = /** @class */ (function () { AuthClass.prototype.currentSession = function () { var user; var that = this; - logger.debug('getting current session'); + logger.debug('Getting current session'); if (!this.userPool) { return Promise.reject('No userPool'); } if (Platform_1.default.isReactNative) { return this.getSyncedUser().then(function (user) { if (!user) { + logger.debug('Failed to get user from user pool'); return Promise.reject('No current user'); } return that.userSession(user); @@ -755,6 +787,7 @@ var AuthClass = /** @class */ (function () { else { user = this.userPool.getCurrentUser(); if (!user) { + logger.debug('Failed to get user from user pool'); return Promise.reject('No current user'); } return this.userSession(user); @@ -767,12 +800,14 @@ var AuthClass = /** @class */ (function () { */ AuthClass.prototype.userSession = function (user) { return new Promise(function (resolve, reject) { - logger.debug(user); + logger.debug('Getting the session from this user:', user); user.getSession(function (err, session) { if (err) { + logger.debug('Failed to get the session from user', user); reject(err); } else { + logger.debug('Succeed to get the user session', session); resolve(session); } }); @@ -785,7 +820,7 @@ var AuthClass = /** @class */ (function () { AuthClass.prototype.currentUserCredentials = function () { var _this = this; var that = this; - logger.debug('getting current user credential'); + logger.debug('Getting current user credentials'); if (Platform_1.default.isReactNative) { // asyncstorage return Cache_1.default.getItem('federatedInfo') @@ -827,6 +862,7 @@ var AuthClass = /** @class */ (function () { }; AuthClass.prototype._refreshFederatedToken = function (federatedInfo) { var _this = this; + logger.debug('Getting federated credentials'); var provider = federatedInfo.provider, user = federatedInfo.user; var token = federatedInfo.token; var expires_at = federatedInfo.expires_at; @@ -860,6 +896,7 @@ var AuthClass = /** @class */ (function () { } }; AuthClass.prototype.currentCredentials = function () { + logger.debug('getting current credntials'); return this.pickupCredentials(); }; /** @@ -936,9 +973,13 @@ var AuthClass = /** @class */ (function () { return [2 /*return*/, Promise.reject('No userPool')]; } user = this.userPool.getCurrentUser(); - if (user) { - logger.debug('user sign out', user); - user.signOut(); + if (!user) { + return [2 /*return*/, Promise.resolve()]; + } + logger.debug('user sign out', user); + user.signOut(); + if (this._cognitoAuthClient) { + this._cognitoAuthClient.signOut(); } } that = this; @@ -1120,8 +1161,6 @@ var AuthClass = /** @class */ (function () { AuthClass.prototype.federatedSignIn = function (provider, response, user) { var _this = this; var token = response.token, expires_at = response.expires_at; - // store it into localstorage - // Cache.setItem('federatedInfo', { provider, token, user, expires_at }, { priority: 1 }); var that = this; return new Promise(function (res, rej) { that._setCredentialsFromFederation({ provider: provider, token: token, user: user, expires_at: expires_at }).then(function (cred) { @@ -1270,11 +1309,13 @@ var AuthClass = /** @class */ (function () { }); }; AuthClass.prototype.keepAlive = function () { + logger.debug('checking if credentials exists and not expired'); var cred = this.credentials; if (cred && !this._isExpired(cred)) { - logger.debug('not changed, directly return credentials'); + logger.debug('credentials not changed and not expired, directly return'); return Promise.resolve(cred); } + logger.debug('need to get a new credential or refresh the existing one'); return this.currentUserCredentials(); }; AuthClass.prototype.createCognitoUser = function (username) { diff --git a/packages/aws-amplify/lib/Auth/Auth.js.map b/packages/aws-amplify/lib/Auth/Auth.js.map index 78bf163bee2..9ba2f7394aa 100644 --- a/packages/aws-amplify/lib/Auth/Auth.js.map +++ b/packages/aws-amplify/lib/Auth/Auth.js.map @@ -1 +1 @@ -{"version":3,"file":"Auth.js","sourceRoot":"","sources":["../../src/Auth/Auth.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"Auth.js","sourceRoot":"","sources":["../../src/Auth/Auth.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/packages/aws-amplify/lib/Auth/types/Auth.d.ts b/packages/aws-amplify/lib/Auth/types/Auth.d.ts index 77aa12f5880..0398785bcc0 100644 --- a/packages/aws-amplify/lib/Auth/types/Auth.d.ts +++ b/packages/aws-amplify/lib/Auth/types/Auth.d.ts @@ -17,6 +17,7 @@ export interface AuthOptions { region?: string; mandatorySignIn: boolean; cookieStorage?: ICookieStorageData; + hostedUIOptions?: object; } /** * Details for multi-factor authentication @@ -32,3 +33,11 @@ export interface FederatedResponse { token: string; expires_at: number; } +export interface hostedUIOptions { + AppWebDomain: string; + TokenScopesArray: Array; + RedirectUriSignIn: string; + RedirectUriSignOut: string; + AdvancedSecurityDataCollectionFlag: boolean; + ResponseType: string; +} diff --git a/packages/aws-amplify/lib/Common/Facet.d.ts b/packages/aws-amplify/lib/Common/Facet.d.ts index d487d072740..6de49753f9b 100644 --- a/packages/aws-amplify/lib/Common/Facet.d.ts +++ b/packages/aws-amplify/lib/Common/Facet.d.ts @@ -3,4 +3,5 @@ import * as AWS from 'aws-sdk/global'; import * as Cognito from 'amazon-cognito-identity-js'; import * as Pinpoint from 'aws-sdk/clients/pinpoint'; import * as MobileAnalytics from 'aws-sdk/clients/mobileanalytics'; -export { AWS, S3, Cognito, Pinpoint, MobileAnalytics }; +import * as CognitoHostedUI from 'amazon-cognito-auth-js'; +export { AWS, S3, Cognito, Pinpoint, MobileAnalytics, CognitoHostedUI }; diff --git a/packages/aws-amplify/lib/Common/Facet.js b/packages/aws-amplify/lib/Common/Facet.js index b3b19dc3a68..97211ea0ba0 100644 --- a/packages/aws-amplify/lib/Common/Facet.js +++ b/packages/aws-amplify/lib/Common/Facet.js @@ -23,4 +23,6 @@ var Pinpoint = require("aws-sdk/clients/pinpoint"); exports.Pinpoint = Pinpoint; var MobileAnalytics = require("aws-sdk/clients/mobileanalytics"); exports.MobileAnalytics = MobileAnalytics; +var CognitoHostedUI = require("amazon-cognito-auth-js"); +exports.CognitoHostedUI = CognitoHostedUI; //# sourceMappingURL=Facet.js.map \ No newline at end of file diff --git a/packages/aws-amplify/lib/Common/Facet.js.map b/packages/aws-amplify/lib/Common/Facet.js.map index a05a01bf19b..9423808e51d 100644 --- a/packages/aws-amplify/lib/Common/Facet.js.map +++ b/packages/aws-amplify/lib/Common/Facet.js.map @@ -1 +1 @@ -{"version":3,"file":"Facet.js","sourceRoot":"","sources":["../../src/Common/Facet.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;GAWG;;AAEH,yCAAyC;AACzC,uCAAyC;AAM5B,gBAAE;AALf,oCAAsC;AAK9B,kBAAG;AAJX,oDAAsD;AAIrC,0BAAO;AAHxB,mDAAqD;AAG3B,4BAAQ;AAFlC,iEAAmE;AAE/B,0CAAe"} \ No newline at end of file +{"version":3,"file":"Facet.js","sourceRoot":"","sources":["../../src/Common/Facet.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;GAWG;;AAEH,yCAAyC;AACzC,uCAAyC;AAO5B,gBAAE;AANf,oCAAsC;AAM9B,kBAAG;AALX,oDAAsD;AAKrC,0BAAO;AAJxB,mDAAqD;AAI3B,4BAAQ;AAHlC,iEAAmE;AAG/B,0CAAe;AAFnD,wDAA0D;AAEL,0CAAe"} \ No newline at end of file diff --git a/packages/aws-amplify/lib/Common/Parser.js b/packages/aws-amplify/lib/Common/Parser.js index b198fd43015..2138f98e4e1 100644 --- a/packages/aws-amplify/lib/Common/Parser.js +++ b/packages/aws-amplify/lib/Common/Parser.js @@ -1,5 +1,7 @@ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); +var Common_1 = require("../Common"); +var logger = new Common_1.ConsoleLogger('Parser'); var Parser = /** @class */ (function () { function Parser() { } @@ -7,12 +9,26 @@ var Parser = /** @class */ (function () { var amplifyConfig = {}; // Analytics if (config['aws_mobile_analytics_app_id']) { - var Analytics = {}; - Analytics['appId'] = config['aws_mobile_analytics_app_id']; - Analytics['region'] = config['aws_mobile_analytics_app_region']; + var Analytics = { + appId: config['aws_mobile_analytics_app_id'], + region: config['aws_mobile_analytics_app_region'] + }; amplifyConfig.Analytics = Analytics; } + // Auth + if (config['aws_cognito_identity_pool_id']) { + var Auth = { + userPoolId: config['aws_user_pools_id'], + userPoolWebClientId: config['aws_user_pools_web_client_id'], + region: config['aws_cognito_region'], + identityPoolId: config['aws_cognito_identity_pool_id'], + mandatorySignIn: config['aws_mandatory_sign_in'] === 'enable' ? true : false + }; + amplifyConfig.Auth = Auth; + } amplifyConfig.Analytics = Object.assign({}, amplifyConfig.Analytics, config.Analytics); + amplifyConfig.Auth = Object.assign({}, amplifyConfig.Auth, config.Auth); + logger.debug('parse config', config, 'to amplifyconfig', amplifyConfig); return amplifyConfig; }; return Parser; diff --git a/packages/aws-amplify/lib/Common/Parser.js.map b/packages/aws-amplify/lib/Common/Parser.js.map index c445b1acb6b..699b1ceb9d0 100644 --- a/packages/aws-amplify/lib/Common/Parser.js.map +++ b/packages/aws-amplify/lib/Common/Parser.js.map @@ -1 +1 @@ -{"version":3,"file":"Parser.js","sourceRoot":"","sources":["../../src/Common/Parser.ts"],"names":[],"mappings":";;AAEA;IAAA;IAcA,CAAC;IAbU,2BAAoB,GAA3B,UAA4B,MAAM;QAC9B,IAAM,aAAa,GAAkB,EAAE,CAAC;QACxC,YAAY;QACZ,EAAE,CAAC,CAAC,MAAM,CAAC,6BAA6B,CAAC,CAAC,CAAC,CAAC;YACxC,IAAM,SAAS,GAAG,EAAE,CAAC;YACrB,SAAS,CAAC,OAAO,CAAC,GAAG,MAAM,CAAC,6BAA6B,CAAC,CAAC;YAC3D,SAAS,CAAC,QAAQ,CAAC,GAAG,MAAM,CAAC,iCAAiC,CAAC,CAAC;YAChE,aAAa,CAAC,SAAS,GAAG,SAAS,CAAC;QACxC,CAAC;QAED,aAAa,CAAC,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,aAAa,CAAC,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;QACvF,MAAM,CAAC,aAAa,CAAC;IACzB,CAAC;IACL,aAAC;AAAD,CAAC,AAdD,IAcC"} \ No newline at end of file +{"version":3,"file":"Parser.js","sourceRoot":"","sources":["../../src/Common/Parser.ts"],"names":[],"mappings":";;AACA,oCAAoD;AAEpD,IAAM,MAAM,GAAG,IAAI,sBAAM,CAAC,QAAQ,CAAC,CAAC;AAEpC;IAAA;IA6BA,CAAC;IA5BU,2BAAoB,GAA3B,UAA4B,MAAM;QAC9B,IAAM,aAAa,GAAkB,EAAE,CAAC;QACxC,YAAY;QACZ,EAAE,CAAC,CAAC,MAAM,CAAC,6BAA6B,CAAC,CAAC,CAAC,CAAC;YACxC,IAAM,SAAS,GAAG;gBACd,KAAK,EAAE,MAAM,CAAC,6BAA6B,CAAC;gBAC5C,MAAM,EAAE,MAAM,CAAC,iCAAiC,CAAC;aACpD,CAAC;YACF,aAAa,CAAC,SAAS,GAAG,SAAS,CAAC;QACxC,CAAC;QAED,OAAO;QACP,EAAE,CAAC,CAAC,MAAM,CAAC,8BAA8B,CAAC,CAAC,CAAC,CAAC;YACzC,IAAM,IAAI,GAAG;gBACT,UAAU,EAAE,MAAM,CAAC,mBAAmB,CAAC;gBACvC,mBAAmB,EAAE,MAAM,CAAC,8BAA8B,CAAC;gBAC3D,MAAM,EAAE,MAAM,CAAC,oBAAoB,CAAC;gBACpC,cAAc,EAAE,MAAM,CAAC,8BAA8B,CAAC;gBACtD,eAAe,EAAE,MAAM,CAAC,uBAAuB,CAAC,KAAK,QAAQ,CAAA,CAAC,CAAC,IAAI,CAAA,CAAC,CAAC,KAAK;aAC7E,CAAC;YACF,aAAa,CAAC,IAAI,GAAG,IAAI,CAAC;QAC9B,CAAC;QAED,aAAa,CAAC,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,aAAa,CAAC,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;QACvF,aAAa,CAAC,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,aAAa,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;QACxE,MAAM,CAAC,KAAK,CAAC,cAAc,EAAE,MAAM,EAAE,kBAAkB,EAAE,aAAa,CAAC,CAAC;QACxE,MAAM,CAAC,aAAa,CAAC;IACzB,CAAC;IACL,aAAC;AAAD,CAAC,AA7BD,IA6BC"} \ No newline at end of file diff --git a/yarn.lock b/yarn.lock index e6736d9355f..4b21118a667 100644 --- a/yarn.lock +++ b/yarn.lock @@ -189,6 +189,10 @@ align-text@^0.1.1, align-text@^0.1.3: longest "^1.0.1" repeat-string "^1.5.2" +amazon-cognito-auth-js@^1.1.4: + version "1.1.6" + resolved "https://registry.yarnpkg.com/amazon-cognito-auth-js/-/amazon-cognito-auth-js-1.1.6.tgz#8fbdeea5c713d59f432d72e9ae45f069464b2cad" + amdefine@>=0.0.4: version "1.0.1" resolved "https://registry.yarnpkg.com/amdefine/-/amdefine-1.0.1.tgz#4a5282ac164729e93619bcfd3ad151f817ce91f5" From 373ddf59fb45a3c8a8ebd6de990a9e010798cf4a Mon Sep 17 00:00:00 2001 From: powerful23 Date: Tue, 3 Apr 2018 14:02:05 -0700 Subject: [PATCH 08/22] merge from upstream --- packages/aws-amplify/lib/Auth/Auth.d.ts | 1 - packages/aws-amplify/lib/Auth/Auth.js | 83 +++++-------------- packages/aws-amplify/lib/Auth/Auth.js.map | 2 +- packages/aws-amplify/lib/Auth/types/Auth.d.ts | 9 -- packages/aws-amplify/lib/Common/Facet.d.ts | 3 +- packages/aws-amplify/lib/Common/Facet.js | 2 - packages/aws-amplify/lib/Common/Facet.js.map | 2 +- packages/aws-amplify/lib/Common/Parser.js | 22 +---- packages/aws-amplify/lib/Common/Parser.js.map | 2 +- 9 files changed, 28 insertions(+), 98 deletions(-) diff --git a/packages/aws-amplify/lib/Auth/Auth.d.ts b/packages/aws-amplify/lib/Auth/Auth.d.ts index acba9a67b2f..a5986573a7c 100644 --- a/packages/aws-amplify/lib/Auth/Auth.d.ts +++ b/packages/aws-amplify/lib/Auth/Auth.d.ts @@ -6,7 +6,6 @@ export default class AuthClass { private _config; private _userPoolStorageSync; private userPool; - private _cognitoAuthClient; private credentials; private credentials_source; private user; diff --git a/packages/aws-amplify/lib/Auth/Auth.js b/packages/aws-amplify/lib/Auth/Auth.js index aec07da376e..86e4ab1cb02 100644 --- a/packages/aws-amplify/lib/Auth/Auth.js +++ b/packages/aws-amplify/lib/Auth/Auth.js @@ -52,7 +52,6 @@ var Platform_1 = require("../Common/Platform"); var Cache_1 = require("../Cache"); var logger = new Common_1.ConsoleLogger('AuthClass'); var CognitoIdentityCredentials = Common_1.AWS.CognitoIdentityCredentials, Credentials = Common_1.AWS.Credentials; -var CognitoAuth = Common_1.CognitoHostedUI.CognitoAuth; var CookieStorage = Common_1.Cognito.CookieStorage, CognitoUserPool = Common_1.Cognito.CognitoUserPool, CognitoUserAttribute = Common_1.Cognito.CognitoUserAttribute, CognitoUser = Common_1.Cognito.CognitoUser, AuthenticationDetails = Common_1.Cognito.AuthenticationDetails; var dispatchAuthEvent = function (event, data) { Common_1.Hub.dispatch('auth', { event: event, data: data }, 'Auth'); @@ -67,7 +66,6 @@ var AuthClass = /** @class */ (function () { */ function AuthClass(config) { this.userPool = null; - this._cognitoAuthClient = null; this.credentials = null; this.credentials_source = ''; // aws, guest, userPool, federated this.user = null; @@ -86,15 +84,22 @@ var AuthClass = /** @class */ (function () { } AuthClass.prototype.configure = function (config) { var _this = this; - if (!config) - return this._config; logger.debug('configure Auth'); - var conf = Object.assign({}, this._config, Common_1.Parser.parseMobilehubConfig(config).Auth); - this._config = conf; + var conf = config ? config.Auth || config : {}; + if (conf['aws_cognito_identity_pool_id']) { + conf = { + userPoolId: conf['aws_user_pools_id'], + userPoolWebClientId: conf['aws_user_pools_web_client_id'], + region: conf['aws_cognito_region'], + identityPoolId: conf['aws_cognito_identity_pool_id'], + mandatorySignIn: conf['aws_mandatory_sign_in'] === 'enable' ? true : false + }; + } + this._config = Object.assign({}, this._config, conf); if (!this._config.identityPoolId) { logger.debug('Do not have identityPoolId yet.'); } - var _a = this._config, userPoolId = _a.userPoolId, userPoolWebClientId = _a.userPoolWebClientId, cookieStorage = _a.cookieStorage, hostedUIOptions = _a.hostedUIOptions; + var _a = this._config, userPoolId = _a.userPoolId, userPoolWebClientId = _a.userPoolWebClientId, cookieStorage = _a.cookieStorage; if (userPoolId) { var userPoolData = { UserPoolId: userPoolId, @@ -118,41 +123,6 @@ var AuthClass = /** @class */ (function () { }); } } - // initiailize cognitoauth client if hosted ui options provided - if (hostedUIOptions) { - var that_1 = this; - var cognitoAuthParams = Object.assign({ - ClientId: userPoolWebClientId, - UserPoolId: userPoolId - }, hostedUIOptions); - var type = hostedUIOptions['ResponseType']; - this._cognitoAuthClient = new CognitoAuth(cognitoAuthParams); - this._cognitoAuthClient.userhandler = { - // user signed in - onSuccess: function (result) { - that_1.user = that_1.userPool.getCurrentUser(); - logger.debug("Cognito Hosted authentication result", result); - that_1.currentSession().then(function (session) { - that_1._setCredentialsFromSession(session).then(function (cred) { - logger.debug('sign in succefully with', cred); - dispatchAuthEvent('signIn', that_1.user); - }); - }); - }, - onFailure: function (err) { - logger.debug("Error in cognito hosted auth response", err); - } - }; - // if not logged in, try to parse the url. - this.currentAuthenticatedUser().then(function () { - logger.debug('user already logged in'); - }).catch(function (e) { - logger.debug('not logged in, try to parse the url'); - var curUrl = window.location.href; - _this._cognitoAuthClient.parseCognitoWebResponse(curUrl); - }); - logger.debug('hostedUIOptions configured'); - } dispatchAuthEvent('configured', null); return this._config; }; @@ -728,7 +698,6 @@ var AuthClass = /** @class */ (function () { return __generator(this, function (_b) { switch (_b.label) { case 0: - logger.debug('getting current authenticted user'); federatedUser = null; _b.label = 1; case 1: @@ -771,14 +740,13 @@ var AuthClass = /** @class */ (function () { AuthClass.prototype.currentSession = function () { var user; var that = this; - logger.debug('Getting current session'); + logger.debug('getting current session'); if (!this.userPool) { return Promise.reject('No userPool'); } if (Platform_1.default.isReactNative) { return this.getSyncedUser().then(function (user) { if (!user) { - logger.debug('Failed to get user from user pool'); return Promise.reject('No current user'); } return that.userSession(user); @@ -787,7 +755,6 @@ var AuthClass = /** @class */ (function () { else { user = this.userPool.getCurrentUser(); if (!user) { - logger.debug('Failed to get user from user pool'); return Promise.reject('No current user'); } return this.userSession(user); @@ -800,14 +767,12 @@ var AuthClass = /** @class */ (function () { */ AuthClass.prototype.userSession = function (user) { return new Promise(function (resolve, reject) { - logger.debug('Getting the session from this user:', user); + logger.debug(user); user.getSession(function (err, session) { if (err) { - logger.debug('Failed to get the session from user', user); reject(err); } else { - logger.debug('Succeed to get the user session', session); resolve(session); } }); @@ -820,7 +785,7 @@ var AuthClass = /** @class */ (function () { AuthClass.prototype.currentUserCredentials = function () { var _this = this; var that = this; - logger.debug('Getting current user credentials'); + logger.debug('getting current user credential'); if (Platform_1.default.isReactNative) { // asyncstorage return Cache_1.default.getItem('federatedInfo') @@ -862,7 +827,6 @@ var AuthClass = /** @class */ (function () { }; AuthClass.prototype._refreshFederatedToken = function (federatedInfo) { var _this = this; - logger.debug('Getting federated credentials'); var provider = federatedInfo.provider, user = federatedInfo.user; var token = federatedInfo.token; var expires_at = federatedInfo.expires_at; @@ -896,7 +860,6 @@ var AuthClass = /** @class */ (function () { } }; AuthClass.prototype.currentCredentials = function () { - logger.debug('getting current credntials'); return this.pickupCredentials(); }; /** @@ -973,13 +936,9 @@ var AuthClass = /** @class */ (function () { return [2 /*return*/, Promise.reject('No userPool')]; } user = this.userPool.getCurrentUser(); - if (!user) { - return [2 /*return*/, Promise.resolve()]; - } - logger.debug('user sign out', user); - user.signOut(); - if (this._cognitoAuthClient) { - this._cognitoAuthClient.signOut(); + if (user) { + logger.debug('user sign out', user); + user.signOut(); } } that = this; @@ -1161,6 +1120,8 @@ var AuthClass = /** @class */ (function () { AuthClass.prototype.federatedSignIn = function (provider, response, user) { var _this = this; var token = response.token, expires_at = response.expires_at; + // store it into localstorage + // Cache.setItem('federatedInfo', { provider, token, user, expires_at }, { priority: 1 }); var that = this; return new Promise(function (res, rej) { that._setCredentialsFromFederation({ provider: provider, token: token, user: user, expires_at: expires_at }).then(function (cred) { @@ -1309,13 +1270,11 @@ var AuthClass = /** @class */ (function () { }); }; AuthClass.prototype.keepAlive = function () { - logger.debug('checking if credentials exists and not expired'); var cred = this.credentials; if (cred && !this._isExpired(cred)) { - logger.debug('credentials not changed and not expired, directly return'); + logger.debug('not changed, directly return credentials'); return Promise.resolve(cred); } - logger.debug('need to get a new credential or refresh the existing one'); return this.currentUserCredentials(); }; AuthClass.prototype.createCognitoUser = function (username) { diff --git a/packages/aws-amplify/lib/Auth/Auth.js.map b/packages/aws-amplify/lib/Auth/Auth.js.map index 9ba2f7394aa..78bf163bee2 100644 --- a/packages/aws-amplify/lib/Auth/Auth.js.map +++ b/packages/aws-amplify/lib/Auth/Auth.js.map @@ -1 +1 @@ -{"version":3,"file":"Auth.js","sourceRoot":"","sources":["../../src/Auth/Auth.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"Auth.js","sourceRoot":"","sources":["../../src/Auth/Auth.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/packages/aws-amplify/lib/Auth/types/Auth.d.ts b/packages/aws-amplify/lib/Auth/types/Auth.d.ts index 0398785bcc0..77aa12f5880 100644 --- a/packages/aws-amplify/lib/Auth/types/Auth.d.ts +++ b/packages/aws-amplify/lib/Auth/types/Auth.d.ts @@ -17,7 +17,6 @@ export interface AuthOptions { region?: string; mandatorySignIn: boolean; cookieStorage?: ICookieStorageData; - hostedUIOptions?: object; } /** * Details for multi-factor authentication @@ -33,11 +32,3 @@ export interface FederatedResponse { token: string; expires_at: number; } -export interface hostedUIOptions { - AppWebDomain: string; - TokenScopesArray: Array; - RedirectUriSignIn: string; - RedirectUriSignOut: string; - AdvancedSecurityDataCollectionFlag: boolean; - ResponseType: string; -} diff --git a/packages/aws-amplify/lib/Common/Facet.d.ts b/packages/aws-amplify/lib/Common/Facet.d.ts index 6de49753f9b..d487d072740 100644 --- a/packages/aws-amplify/lib/Common/Facet.d.ts +++ b/packages/aws-amplify/lib/Common/Facet.d.ts @@ -3,5 +3,4 @@ import * as AWS from 'aws-sdk/global'; import * as Cognito from 'amazon-cognito-identity-js'; import * as Pinpoint from 'aws-sdk/clients/pinpoint'; import * as MobileAnalytics from 'aws-sdk/clients/mobileanalytics'; -import * as CognitoHostedUI from 'amazon-cognito-auth-js'; -export { AWS, S3, Cognito, Pinpoint, MobileAnalytics, CognitoHostedUI }; +export { AWS, S3, Cognito, Pinpoint, MobileAnalytics }; diff --git a/packages/aws-amplify/lib/Common/Facet.js b/packages/aws-amplify/lib/Common/Facet.js index 97211ea0ba0..b3b19dc3a68 100644 --- a/packages/aws-amplify/lib/Common/Facet.js +++ b/packages/aws-amplify/lib/Common/Facet.js @@ -23,6 +23,4 @@ var Pinpoint = require("aws-sdk/clients/pinpoint"); exports.Pinpoint = Pinpoint; var MobileAnalytics = require("aws-sdk/clients/mobileanalytics"); exports.MobileAnalytics = MobileAnalytics; -var CognitoHostedUI = require("amazon-cognito-auth-js"); -exports.CognitoHostedUI = CognitoHostedUI; //# sourceMappingURL=Facet.js.map \ No newline at end of file diff --git a/packages/aws-amplify/lib/Common/Facet.js.map b/packages/aws-amplify/lib/Common/Facet.js.map index 9423808e51d..a05a01bf19b 100644 --- a/packages/aws-amplify/lib/Common/Facet.js.map +++ b/packages/aws-amplify/lib/Common/Facet.js.map @@ -1 +1 @@ -{"version":3,"file":"Facet.js","sourceRoot":"","sources":["../../src/Common/Facet.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;GAWG;;AAEH,yCAAyC;AACzC,uCAAyC;AAO5B,gBAAE;AANf,oCAAsC;AAM9B,kBAAG;AALX,oDAAsD;AAKrC,0BAAO;AAJxB,mDAAqD;AAI3B,4BAAQ;AAHlC,iEAAmE;AAG/B,0CAAe;AAFnD,wDAA0D;AAEL,0CAAe"} \ No newline at end of file +{"version":3,"file":"Facet.js","sourceRoot":"","sources":["../../src/Common/Facet.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;GAWG;;AAEH,yCAAyC;AACzC,uCAAyC;AAM5B,gBAAE;AALf,oCAAsC;AAK9B,kBAAG;AAJX,oDAAsD;AAIrC,0BAAO;AAHxB,mDAAqD;AAG3B,4BAAQ;AAFlC,iEAAmE;AAE/B,0CAAe"} \ No newline at end of file diff --git a/packages/aws-amplify/lib/Common/Parser.js b/packages/aws-amplify/lib/Common/Parser.js index 2138f98e4e1..b198fd43015 100644 --- a/packages/aws-amplify/lib/Common/Parser.js +++ b/packages/aws-amplify/lib/Common/Parser.js @@ -1,7 +1,5 @@ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -var Common_1 = require("../Common"); -var logger = new Common_1.ConsoleLogger('Parser'); var Parser = /** @class */ (function () { function Parser() { } @@ -9,26 +7,12 @@ var Parser = /** @class */ (function () { var amplifyConfig = {}; // Analytics if (config['aws_mobile_analytics_app_id']) { - var Analytics = { - appId: config['aws_mobile_analytics_app_id'], - region: config['aws_mobile_analytics_app_region'] - }; + var Analytics = {}; + Analytics['appId'] = config['aws_mobile_analytics_app_id']; + Analytics['region'] = config['aws_mobile_analytics_app_region']; amplifyConfig.Analytics = Analytics; } - // Auth - if (config['aws_cognito_identity_pool_id']) { - var Auth = { - userPoolId: config['aws_user_pools_id'], - userPoolWebClientId: config['aws_user_pools_web_client_id'], - region: config['aws_cognito_region'], - identityPoolId: config['aws_cognito_identity_pool_id'], - mandatorySignIn: config['aws_mandatory_sign_in'] === 'enable' ? true : false - }; - amplifyConfig.Auth = Auth; - } amplifyConfig.Analytics = Object.assign({}, amplifyConfig.Analytics, config.Analytics); - amplifyConfig.Auth = Object.assign({}, amplifyConfig.Auth, config.Auth); - logger.debug('parse config', config, 'to amplifyconfig', amplifyConfig); return amplifyConfig; }; return Parser; diff --git a/packages/aws-amplify/lib/Common/Parser.js.map b/packages/aws-amplify/lib/Common/Parser.js.map index 699b1ceb9d0..c445b1acb6b 100644 --- a/packages/aws-amplify/lib/Common/Parser.js.map +++ b/packages/aws-amplify/lib/Common/Parser.js.map @@ -1 +1 @@ -{"version":3,"file":"Parser.js","sourceRoot":"","sources":["../../src/Common/Parser.ts"],"names":[],"mappings":";;AACA,oCAAoD;AAEpD,IAAM,MAAM,GAAG,IAAI,sBAAM,CAAC,QAAQ,CAAC,CAAC;AAEpC;IAAA;IA6BA,CAAC;IA5BU,2BAAoB,GAA3B,UAA4B,MAAM;QAC9B,IAAM,aAAa,GAAkB,EAAE,CAAC;QACxC,YAAY;QACZ,EAAE,CAAC,CAAC,MAAM,CAAC,6BAA6B,CAAC,CAAC,CAAC,CAAC;YACxC,IAAM,SAAS,GAAG;gBACd,KAAK,EAAE,MAAM,CAAC,6BAA6B,CAAC;gBAC5C,MAAM,EAAE,MAAM,CAAC,iCAAiC,CAAC;aACpD,CAAC;YACF,aAAa,CAAC,SAAS,GAAG,SAAS,CAAC;QACxC,CAAC;QAED,OAAO;QACP,EAAE,CAAC,CAAC,MAAM,CAAC,8BAA8B,CAAC,CAAC,CAAC,CAAC;YACzC,IAAM,IAAI,GAAG;gBACT,UAAU,EAAE,MAAM,CAAC,mBAAmB,CAAC;gBACvC,mBAAmB,EAAE,MAAM,CAAC,8BAA8B,CAAC;gBAC3D,MAAM,EAAE,MAAM,CAAC,oBAAoB,CAAC;gBACpC,cAAc,EAAE,MAAM,CAAC,8BAA8B,CAAC;gBACtD,eAAe,EAAE,MAAM,CAAC,uBAAuB,CAAC,KAAK,QAAQ,CAAA,CAAC,CAAC,IAAI,CAAA,CAAC,CAAC,KAAK;aAC7E,CAAC;YACF,aAAa,CAAC,IAAI,GAAG,IAAI,CAAC;QAC9B,CAAC;QAED,aAAa,CAAC,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,aAAa,CAAC,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;QACvF,aAAa,CAAC,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,aAAa,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;QACxE,MAAM,CAAC,KAAK,CAAC,cAAc,EAAE,MAAM,EAAE,kBAAkB,EAAE,aAAa,CAAC,CAAC;QACxE,MAAM,CAAC,aAAa,CAAC;IACzB,CAAC;IACL,aAAC;AAAD,CAAC,AA7BD,IA6BC"} \ No newline at end of file +{"version":3,"file":"Parser.js","sourceRoot":"","sources":["../../src/Common/Parser.ts"],"names":[],"mappings":";;AAEA;IAAA;IAcA,CAAC;IAbU,2BAAoB,GAA3B,UAA4B,MAAM;QAC9B,IAAM,aAAa,GAAkB,EAAE,CAAC;QACxC,YAAY;QACZ,EAAE,CAAC,CAAC,MAAM,CAAC,6BAA6B,CAAC,CAAC,CAAC,CAAC;YACxC,IAAM,SAAS,GAAG,EAAE,CAAC;YACrB,SAAS,CAAC,OAAO,CAAC,GAAG,MAAM,CAAC,6BAA6B,CAAC,CAAC;YAC3D,SAAS,CAAC,QAAQ,CAAC,GAAG,MAAM,CAAC,iCAAiC,CAAC,CAAC;YAChE,aAAa,CAAC,SAAS,GAAG,SAAS,CAAC;QACxC,CAAC;QAED,aAAa,CAAC,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,aAAa,CAAC,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;QACvF,MAAM,CAAC,aAAa,CAAC;IACzB,CAAC;IACL,aAAC;AAAD,CAAC,AAdD,IAcC"} \ No newline at end of file From cf02930a9decbf5ef7438246ccc6a7f78d21f63b Mon Sep 17 00:00:00 2001 From: powerful23 Date: Tue, 3 Apr 2018 15:45:43 -0700 Subject: [PATCH 09/22] rename withCognito to withHostedCognito --- docs/media/authentication_guide.md | 6 +++--- .../src/Auth/FederatedSignIn.jsx | 16 ++++++++-------- .../src/Auth/Provider/index.jsx | 6 +++--- .../{withCognito.jsx => withHostedCognito.jsx} | 12 ++++++------ 4 files changed, 20 insertions(+), 20 deletions(-) rename packages/aws-amplify-react/src/Auth/Provider/{withCognito.jsx => withHostedCognito.jsx} (78%) diff --git a/docs/media/authentication_guide.md b/docs/media/authentication_guide.md index 609eacf5fd8..e0bb7035d17 100644 --- a/docs/media/authentication_guide.md +++ b/docs/media/authentication_guide.md @@ -411,19 +411,19 @@ Amplify.configure({ * You will see a button ```Sign in with AWS``` showed up in your login page when you are using the HOC ```withAuthenticator``` or using the ```Authenticator``` component. * You can also import the HOC provided and wrap your own component with it, for example: ```jsx - import { withCognito } from 'aws-amplify-react'; + import { withHostedCognito } from 'aws-amplify-react'; class MyComp extends React.Component { // ... render() { return( - + ) } } - export default withCognito(MyComp); + export default withHostedCognito(MyComp); ``` * If you are NOT using ```aws-amplify-react```: diff --git a/packages/aws-amplify-react/src/Auth/FederatedSignIn.jsx b/packages/aws-amplify-react/src/Auth/FederatedSignIn.jsx index d48b38bbc59..648f746f462 100644 --- a/packages/aws-amplify-react/src/Auth/FederatedSignIn.jsx +++ b/packages/aws-amplify-react/src/Auth/FederatedSignIn.jsx @@ -1,6 +1,6 @@ import React, { Component } from 'react'; -import { Logger, JS } from 'aws-amplify'; +import { Logger, JS, Auth } from 'aws-amplify'; import AmplifyTheme from '../AmplifyTheme'; import { FormSection, @@ -11,7 +11,7 @@ import { GoogleButton, FacebookButton, AmazonButton, - CognitoButton + HostedCognitoButton } from './Provider'; const logger = new Logger('FederatedSignIn'); @@ -50,12 +50,12 @@ export class FederatedButtons extends Component { /> } - cognito(cognito_auth) { - if (!cognito_auth) { return null; } + hostedCognito(cognito_auth) { + const config = Auth.configure(); + if (!config.hostedUIOptions) { return null; } const { theme, onStateChange } = this.props; - return @@ -77,7 +77,7 @@ export class FederatedButtons extends Component { {this.google(google_client_id)} {this.facebook(facebook_app_id)} {this.amazon(amazon_client_id)} - {this.cognito(cognito_auth)} + {this.hostedCognito(cognito_auth)} ) } diff --git a/packages/aws-amplify-react/src/Auth/Provider/index.jsx b/packages/aws-amplify-react/src/Auth/Provider/index.jsx index b2fafb24246..f6f25926298 100644 --- a/packages/aws-amplify-react/src/Auth/Provider/index.jsx +++ b/packages/aws-amplify-react/src/Auth/Provider/index.jsx @@ -3,15 +3,15 @@ import React, { Component } from 'react'; import withGoogle from './withGoogle'; import withFacebook from './withFacebook'; import withAmazon from './withAmazon'; -import withCognito from './withCognito'; +import withHostedCognito from './withHostedCognito'; export { default as withGoogle, GoogleButton } from './withGoogle'; export { default as withFacebook, FacebookButton } from './withFacebook'; export { default as withAmazon, AmazonButton } from './withAmazon'; -export { default as withCognito, CognitoButton } from './withCognito'; +export { default as withHostedCognito, HostedCognitoButton } from './withHostedCognito'; export function withFederated(Comp) { - const Federated = withCognito(withAmazon(withGoogle(withFacebook(Comp)))); + const Federated = withHostedCognito(withAmazon(withGoogle(withFacebook(Comp)))); return class extends Component { render() { diff --git a/packages/aws-amplify-react/src/Auth/Provider/withCognito.jsx b/packages/aws-amplify-react/src/Auth/Provider/withHostedCognito.jsx similarity index 78% rename from packages/aws-amplify-react/src/Auth/Provider/withCognito.jsx rename to packages/aws-amplify-react/src/Auth/Provider/withHostedCognito.jsx index e1f7a3b1a81..023f7091e29 100644 --- a/packages/aws-amplify-react/src/Auth/Provider/withCognito.jsx +++ b/packages/aws-amplify-react/src/Auth/Provider/withHostedCognito.jsx @@ -4,9 +4,9 @@ import { Auth, Logger } from 'aws-amplify'; import AmplifyTheme from '../../AmplifyTheme'; import { SignInButton } from '../../AmplifyUI'; -const logger = new Logger('withCognito'); +const logger = new Logger('withHostedCognito'); -export default function withCognito(Comp) { +export default function withHostedCognito(Comp) { return class extends Component { constructor(props) { super(props); @@ -28,7 +28,7 @@ export default function withCognito(Comp) { render() { return ( - + ) } } @@ -36,12 +36,12 @@ export default function withCognito(Comp) { const Button = (props) => ( {props.label || 'Sign in with AWS'} ) -export const CognitoButton = withCognito(Button); \ No newline at end of file +export const HostedCognitoButton = withHostedCognito(Button); \ No newline at end of file From b4bb820d952bfa7d6c3ebd45264645f34145e0bf Mon Sep 17 00:00:00 2001 From: powerful23 Date: Tue, 3 Apr 2018 16:27:51 -0700 Subject: [PATCH 10/22] unit tests fix --- .../__tests__/Auth/FederatedSignIn-test.js | 7 +++++++ .../Auth/Provider/__snapshots__/withCognito-test.js.snap | 7 ------- .../Provider/__snapshots__/withHostedCognito-test.js.snap | 7 +++++++ .../{withCognito-test.js => withHostedCognito-test.js} | 8 ++++---- .../Auth/__snapshots__/FederatedSignIn-test.js.snap | 3 +++ 5 files changed, 21 insertions(+), 11 deletions(-) delete mode 100644 packages/aws-amplify-react/__tests__/Auth/Provider/__snapshots__/withCognito-test.js.snap create mode 100644 packages/aws-amplify-react/__tests__/Auth/Provider/__snapshots__/withHostedCognito-test.js.snap rename packages/aws-amplify-react/__tests__/Auth/Provider/{withCognito-test.js => withHostedCognito-test.js} (84%) diff --git a/packages/aws-amplify-react/__tests__/Auth/FederatedSignIn-test.js b/packages/aws-amplify-react/__tests__/Auth/FederatedSignIn-test.js index 35c38bd0a81..282185bae13 100644 --- a/packages/aws-amplify-react/__tests__/Auth/FederatedSignIn-test.js +++ b/packages/aws-amplify-react/__tests__/Auth/FederatedSignIn-test.js @@ -1,5 +1,12 @@ import React from 'react'; import FederatedSignIn, { FederatedButtons } from '../../src/Auth/FederatedSignIn'; +import { Auth } from 'aws-amplify'; + +const spyon = jest.spyOn(Auth, 'configure').mockImplementation(() => { + return { + hostedUIOptions: {} + } +}) describe('FederatedSignIn test', () => { describe('render test', () => { diff --git a/packages/aws-amplify-react/__tests__/Auth/Provider/__snapshots__/withCognito-test.js.snap b/packages/aws-amplify-react/__tests__/Auth/Provider/__snapshots__/withCognito-test.js.snap deleted file mode 100644 index 0ffdf500e74..00000000000 --- a/packages/aws-amplify-react/__tests__/Auth/Provider/__snapshots__/withCognito-test.js.snap +++ /dev/null @@ -1,7 +0,0 @@ -// Jest Snapshot v1, https://goo.gl/fbAQLP - -exports[`withCognito test render test render correctly 1`] = ` - -`; diff --git a/packages/aws-amplify-react/__tests__/Auth/Provider/__snapshots__/withHostedCognito-test.js.snap b/packages/aws-amplify-react/__tests__/Auth/Provider/__snapshots__/withHostedCognito-test.js.snap new file mode 100644 index 00000000000..33ad9329d1d --- /dev/null +++ b/packages/aws-amplify-react/__tests__/Auth/Provider/__snapshots__/withHostedCognito-test.js.snap @@ -0,0 +1,7 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`withHostedCognito test render test render correctly 1`] = ` + +`; diff --git a/packages/aws-amplify-react/__tests__/Auth/Provider/withCognito-test.js b/packages/aws-amplify-react/__tests__/Auth/Provider/withHostedCognito-test.js similarity index 84% rename from packages/aws-amplify-react/__tests__/Auth/Provider/withCognito-test.js rename to packages/aws-amplify-react/__tests__/Auth/Provider/withHostedCognito-test.js index efb3a3d326e..da075c1d949 100644 --- a/packages/aws-amplify-react/__tests__/Auth/Provider/withCognito-test.js +++ b/packages/aws-amplify-react/__tests__/Auth/Provider/withHostedCognito-test.js @@ -1,9 +1,9 @@ import React, { Component } from 'react'; -import withCognito, { CognitoButton } from '../../../src/Auth/Provider/withCognito'; +import withHostedCognito, { HostedCognitoButton } from '../../../src/Auth/Provider/withHostedCognito'; import { SignInButton, Button } from '../../../src/AmplifyUI'; import { Auth } from 'aws-amplify'; -describe('withCognito test', () => { +describe('withHostedCognito test', () => { describe('render test', () => { test('render correctly', () => { const MockComp = class extends Component { @@ -12,7 +12,7 @@ describe('withCognito test', () => { } } - const Comp = withCognito(MockComp); + const Comp = withHostedCognito(MockComp); const wrapper = shallow(); expect(wrapper).toMatchSnapshot(); }); @@ -37,7 +37,7 @@ describe('withCognito test', () => { userPoolWebClientId: 'userPoolWebClientId' } }) - const Comp = withCognito(MockComp); + const Comp = withHostedCognito(MockComp); const wrapper = shallow(); const comp = wrapper.instance(); diff --git a/packages/aws-amplify-react/__tests__/Auth/__snapshots__/FederatedSignIn-test.js.snap b/packages/aws-amplify-react/__tests__/Auth/__snapshots__/FederatedSignIn-test.js.snap index 71be80c8a7a..407e5efd101 100644 --- a/packages/aws-amplify-react/__tests__/Auth/__snapshots__/FederatedSignIn-test.js.snap +++ b/packages/aws-amplify-react/__tests__/Auth/__snapshots__/FederatedSignIn-test.js.snap @@ -252,6 +252,7 @@ exports[`FederatedButtons test render test render with correct authState 1`] = ` <_class facebook_app_id="facebook_app_id" /> + <_class /> `; @@ -500,6 +501,7 @@ exports[`FederatedButtons test render test render with correct authState and onl <_class google_client_id="google_client_id" /> + <_class /> `; @@ -748,6 +750,7 @@ exports[`FederatedButtons test render test render with correct authState and onl <_class facebook_app_id="facebook_app_id" /> + <_class /> `; From 68d184637ed4040bf9dc2a74a64912f45318881e Mon Sep 17 00:00:00 2001 From: powerful23 Date: Thu, 5 Apr 2018 11:48:25 -0700 Subject: [PATCH 11/22] authenticator and auth_configure fix --- docs/media/authentication_guide.md | 7 ++++--- .../src/Auth/FederatedSignIn.jsx | 19 +++++++++++++++---- .../Analytics/Analytics-unit-test.ts | 2 +- .../aws-amplify/src/Analytics/Analytics.ts | 2 +- packages/aws-amplify/src/Auth/Auth.ts | 2 +- 5 files changed, 22 insertions(+), 10 deletions(-) diff --git a/docs/media/authentication_guide.md b/docs/media/authentication_guide.md index e0bb7035d17..4d0b4adc530 100644 --- a/docs/media/authentication_guide.md +++ b/docs/media/authentication_guide.md @@ -379,7 +379,7 @@ To add federation provider ```https://your-domain-prefix.auth.us-east-1.amazoncognito.com/oauth2/idpresponse``` * Go to Federation -> Attribute mapping - * Map Federation Provider attributes to corresponding User pool attributes. Please make sure at least Email is correctly mapped. + * Map Federation Provider attributes to corresponding User pool attributes. For example, if the ```email``` attribute is required in your User Pool setting, please make sure you have ```email``` in your authorized scopes and map it correctly into the User Pool. * Don't forget to select this provider in the App client settings #### Integrate it into your App @@ -417,8 +417,9 @@ Amplify.configure({ // ... render() { return( - - + ) } } diff --git a/packages/aws-amplify-react/src/Auth/FederatedSignIn.jsx b/packages/aws-amplify-react/src/Auth/FederatedSignIn.jsx index 648f746f462..e4a0c8810a0 100644 --- a/packages/aws-amplify-react/src/Auth/FederatedSignIn.jsx +++ b/packages/aws-amplify-react/src/Auth/FederatedSignIn.jsx @@ -51,8 +51,7 @@ export class FederatedButtons extends Component { } hostedCognito(cognito_auth) { - const config = Auth.configure(); - if (!config.hostedUIOptions) { return null; } + if (!cognito_auth) { return null;} const { theme, onStateChange } = this.props; return diff --git a/packages/aws-amplify/__tests__/Analytics/Analytics-unit-test.ts b/packages/aws-amplify/__tests__/Analytics/Analytics-unit-test.ts index 505274296c9..c28a3cb530b 100644 --- a/packages/aws-amplify/__tests__/Analytics/Analytics-unit-test.ts +++ b/packages/aws-amplify/__tests__/Analytics/Analytics-unit-test.ts @@ -93,7 +93,7 @@ describe("Analytics test", () => { }); const spyon3 = jest.spyOn(AWSAnalyticsProvider.prototype, 'configure').mockImplementationOnce(() => { return; }); - expect(analytics.configure({attr: 'attr'})).toEqual({appId: 'appId', clientInfo: 'clientInfo'}); + expect(analytics.configure({attr: 'attr'})).toEqual({appId: 'appId', clientInfo: 'clientInfo', attr: 'attr'}); spyon.mockClear(); spyon2.mockClear(); diff --git a/packages/aws-amplify/src/Analytics/Analytics.ts b/packages/aws-amplify/src/Analytics/Analytics.ts index 218bf7fed33..539fbe9231d 100644 --- a/packages/aws-amplify/src/Analytics/Analytics.ts +++ b/packages/aws-amplify/src/Analytics/Analytics.ts @@ -72,7 +72,7 @@ export default class AnalyticsClass { public configure(config) { logger.debug('configure Analytics'); const amplifyConfig = Parser.parseMobilehubConfig(config); - const conf = Object.assign({}, this._config, amplifyConfig.Analytics); + const conf = Object.assign({}, this._config, amplifyConfig.Analytics, config); const clientInfo:any = ClientDevice.clientInfo(); conf['clientInfo'] = conf['client_info']? conf['client_info'] : clientInfo; diff --git a/packages/aws-amplify/src/Auth/Auth.ts b/packages/aws-amplify/src/Auth/Auth.ts index e6ecc7ae4be..be764cfafd1 100644 --- a/packages/aws-amplify/src/Auth/Auth.ts +++ b/packages/aws-amplify/src/Auth/Auth.ts @@ -86,7 +86,7 @@ export default class AuthClass { configure(config) { if (!config) return this._config; logger.debug('configure Auth'); - const conf = Object.assign({}, this._config, Parser.parseMobilehubConfig(config).Auth); + const conf = Object.assign({}, this._config, Parser.parseMobilehubConfig(config).Auth, config); this._config = conf; if (!this._config.identityPoolId) { logger.debug('Do not have identityPoolId yet.'); } From cde081b58a7a85225092b6eae08f69b57d8213b3 Mon Sep 17 00:00:00 2001 From: powerful23 Date: Thu, 5 Apr 2018 16:28:31 -0700 Subject: [PATCH 12/22] cognito session refresh and unit tests --- .../__tests__/Auth/auth-unit-test.ts | 113 ++++++++++++++++-- packages/aws-amplify/package.json | 2 +- packages/aws-amplify/src/Auth/Auth.ts | 20 +++- yarn.lock | 6 +- 4 files changed, 122 insertions(+), 19 deletions(-) diff --git a/packages/aws-amplify/__tests__/Auth/auth-unit-test.ts b/packages/aws-amplify/__tests__/Auth/auth-unit-test.ts index 5fbb59f683e..f7bf9b4d891 100644 --- a/packages/aws-amplify/__tests__/Auth/auth-unit-test.ts +++ b/packages/aws-amplify/__tests__/Auth/auth-unit-test.ts @@ -27,6 +27,14 @@ jest.mock('amazon-cognito-identity-js/lib/CognitoUserSession', () => { } } + CognitoUserSession.prototype.isValid = () => { + return true; + } + + CognitoUserSession.prototype.getRefreshToken = () => { + return 'refreshToken'; + } + return CognitoUserSession; }); @@ -126,10 +134,14 @@ jest.mock('amazon-cognito-identity-js/lib/CognitoUser', () => { callback.onSuccess('session'); } - CognitoUser.prototype.updateAttributes = (attributeList, callback) { + CognitoUser.prototype.updateAttributes = (attributeList, callback) => { callback(null, 'SUCCESS'); } + CognitoUser.prototype.refreshSession = (refreshToken, callback) => { + callback(null, 'session'); + } + return CognitoUser; }); @@ -846,10 +858,16 @@ describe('auth unit test', () => { return user; }); + const spyon2 = jest.spyOn(Auth.prototype, 'userSession').mockImplementationOnce(() => { + return new Promise((res, rej) => { + res(session); + }) + }); expect.assertions(1); - expect(await auth.currentSession()).toBe('session'); + expect(await auth.currentSession()).toEqual(session); spyon.mockClear(); + spyon2.mockClear(); }); test('callback failure', async () => { @@ -895,12 +913,7 @@ describe('auth unit test', () => { Pool: userPool }); - const spyon = jest.spyOn(CognitoUser.prototype, "getSession"); - const spyon2 = jest.spyOn(CognitoUserPool.prototype, "getCurrentUser") - .mockImplementationOnce(() => { - return user; - }); - const spyon3 = jest.spyOn(Auth.prototype, 'currentUserPoolUser') + const spyon = jest.spyOn(Auth.prototype, 'currentUserPoolUser') .mockImplementationOnce(() => { return new Promise((res, rej) => { res(user); @@ -911,7 +924,7 @@ describe('auth unit test', () => { expect(await auth.currentAuthenticatedUser()).toEqual(user); spyon.mockClear(); - spyon2.mockClear(); + }); test('happy case with source federation', async () => { @@ -933,7 +946,9 @@ describe('auth unit test', () => { describe('userSession test', () => { test('happy case', async () => { - const spyon = jest.spyOn(CognitoUser.prototype, "getSession"); + const spyon = jest.spyOn(CognitoUser.prototype, 'getSession').mockImplementationOnce((callback) => { + callback(null, session); + }); const auth = new Auth(authOptions); const user = new CognitoUser({ @@ -942,11 +957,69 @@ describe('auth unit test', () => { }); expect.assertions(1); - expect(await auth.userSession(user)).toBe('session'); + expect(await auth.userSession(user)).toEqual(session); spyon.mockClear(); }); + test('CognitoSession not valid and refresh successfully', async () => { + const spyon = jest.spyOn(CognitoUser.prototype, 'getSession').mockImplementationOnce((callback) => { + callback(null, session); + }); + + const spyon2 = jest.spyOn(CognitoUserSession.prototype, 'isValid').mockImplementationOnce(() => { + return false; + }); + + const spyon3 = jest.spyOn(CognitoUser.prototype, 'refreshSession').mockImplementationOnce((refreshToken, callback) => { + callback(null, session); + }); + + const auth = new Auth(authOptions); + const user = new CognitoUser({ + Username: 'username', + Pool: userPool + }); + + expect.assertions(1); + expect(await auth.userSession(user)).toEqual(session); + + spyon.mockClear(); + spyon2.mockClear(); + spyon3.mockClear(); + }); + + test('CognitoSession not valid and refresh fails', async () => { + const spyon = jest.spyOn(CognitoUser.prototype, 'getSession').mockImplementationOnce((callback) => { + callback(null, session); + }); + + const spyon2 = jest.spyOn(CognitoUserSession.prototype, 'isValid').mockImplementationOnce(() => { + return false; + }); + + const spyon3 = jest.spyOn(CognitoUser.prototype, 'refreshSession').mockImplementationOnce((refreshToken, callback) => { + callback('err', null); + }); + + const auth = new Auth(authOptions); + const user = new CognitoUser({ + Username: 'username', + Pool: userPool + }); + + expect.assertions(1); + try { + await auth.userSession(user); + } catch (e) { + expect(e).not.toBeNull(); + } + + spyon.mockClear(); + spyon2.mockClear(); + spyon3.mockClear(); + }); + test('callback error', async () => { const auth = new Auth(authOptions); const user = new CognitoUser({ @@ -1370,8 +1443,16 @@ describe('auth unit test', () => { const oldPassword = 'oldPassword1'; const newPassword = 'newPassword1.'; + const spyon = jest.spyOn(Auth.prototype, 'userSession').mockImplementationOnce(() => { + return new Promise((res, rej) => { + res(session); + }) + }); + expect.assertions(1); expect(await auth.changePassword(user, oldPassword, newPassword)).toBe('SUCCESS'); + + spyon.mockClear(); }); }); @@ -1620,7 +1701,7 @@ describe('auth unit test', () => { expect.assertions(1); - expect(await auth.currentUserInfo()).toEqual({}); + expect(await auth.currentUserInfo()).toEqual(null); }); test('no current userpool user', async () => { @@ -1670,8 +1751,16 @@ describe('auth unit test', () => { 'phone_number': 'phone_number', 'sub': 'sub' } + const spyon = jest.spyOn(Auth.prototype, 'userSession').mockImplementationOnce(() => { + return new Promise((res, rej) => { + res(session); + }) + }); + expect.assertions(1); expect(await auth.updateUserAttributes(user,attributes)).toBe('SUCCESS'); + + spyon.mockClear(); }); }); diff --git a/packages/aws-amplify/package.json b/packages/aws-amplify/package.json index 0c36437c824..e2d65e190bf 100644 --- a/packages/aws-amplify/package.json +++ b/packages/aws-amplify/package.json @@ -57,7 +57,7 @@ "webpack": "^3.5.5" }, "dependencies": { - "amazon-cognito-auth-js": "^1.1.4", + "amazon-cognito-auth-js": "^1.1.8", "amazon-cognito-identity-js": "^2.0.0", "aws-sdk": "2.198.0", "axios": "^0.17.0", diff --git a/packages/aws-amplify/src/Auth/Auth.ts b/packages/aws-amplify/src/Auth/Auth.ts index be764cfafd1..35b33e818ed 100644 --- a/packages/aws-amplify/src/Auth/Auth.ts +++ b/packages/aws-amplify/src/Auth/Auth.ts @@ -693,8 +693,7 @@ export default class AuthClass { this.user = federatedUser; logger.debug('get current authenticated federated user', this.user); return this.user; - } - else { + } else { logger.debug('get current authenticated userpool user'); try { this.user = await this.currentUserPoolUser(); @@ -746,7 +745,22 @@ export default class AuthClass { reject(err); } else { logger.debug('Succeed to get the user session', session); - resolve(session); + // check if session is expired + if (!session.isValid()) { + const refreshToken = session.getRefreshToken(); + logger.debug('Session is not valid, refreshing session with refreshToken', refreshToken); + user.refreshSession(refreshToken, (err, newSession) => { + if (err) { + logger.debug('Refresh Cognito Session failed', err); + reject(err); + } + logger.debug('Refresh Cognito Session success', newSession); + resolve(newSession); + }); + } else { + logger.debug('Session is valid, directly return this session'); + resolve(session); + } } }); }); diff --git a/yarn.lock b/yarn.lock index 4b21118a667..ba271714887 100644 --- a/yarn.lock +++ b/yarn.lock @@ -189,9 +189,9 @@ align-text@^0.1.1, align-text@^0.1.3: longest "^1.0.1" repeat-string "^1.5.2" -amazon-cognito-auth-js@^1.1.4: - version "1.1.6" - resolved "https://registry.yarnpkg.com/amazon-cognito-auth-js/-/amazon-cognito-auth-js-1.1.6.tgz#8fbdeea5c713d59f432d72e9ae45f069464b2cad" +amazon-cognito-auth-js@^1.1.8: + version "1.1.8" + resolved "https://registry.yarnpkg.com/amazon-cognito-auth-js/-/amazon-cognito-auth-js-1.1.8.tgz#3b2eebaae557abbcbde7ef44fd869ee76b7d099a" amdefine@>=0.0.4: version "1.0.1" From facffd673ee790a980f0e5bcae3ec2f0ad5b495c Mon Sep 17 00:00:00 2001 From: powerful23 Date: Fri, 6 Apr 2018 10:28:48 -0700 Subject: [PATCH 13/22] version claim --- docs/media/authentication_guide.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/docs/media/authentication_guide.md b/docs/media/authentication_guide.md index 4d0b4adc530..11ce9c62c0a 100644 --- a/docs/media/authentication_guide.md +++ b/docs/media/authentication_guide.md @@ -356,6 +356,8 @@ There is also `withGoogle`, `withFacebook`, `withAmazon` components, in case you Cognito hosted UI provides general availability of a Built-in Customizable User Experience for Sign-in, OAuth 2.0 Support, and Federation with Facebook, Login with Amazon, Google, and SAML providers for User Pools. +Note: this feature is only supported with aws-amplify@^0.2.15 and aws-amplify-react@^0.1.39 + #### Setup your Cognito App Client First you need to setup your App Client in the Cognito User Pool console. @@ -382,6 +384,7 @@ To add federation provider * Map Federation Provider attributes to corresponding User pool attributes. For example, if the ```email``` attribute is required in your User Pool setting, please make sure you have ```email``` in your authorized scopes and map it correctly into the User Pool. * Don't forget to select this provider in the App client settings + #### Integrate it into your App * You need to pass your hosted ui options into Amplify: From b2c14d2b0c05dee6f0d55526b7b6025910084a9d Mon Sep 17 00:00:00 2001 From: powerful23 Date: Fri, 6 Apr 2018 11:56:46 -0700 Subject: [PATCH 14/22] unit tests for aws-amplify-react --- .../__tests__/Auth/ConfirmSignIn-test.js | 70 +- .../__tests__/Auth/FederatedSignIn-test.js | 6 +- .../__tests__/Auth/ForgotPassword-test.js | 9 + .../withHostedCognito-test.js.snap | 6 + .../Auth/Provider/withHostedCognito-test.js | 5 + .../__snapshots__/ConfirmSignIn-test.js.snap | 20 +- .../FederatedSignIn-test.js.snap | 991 +++++++++++++++++- .../__snapshots__/ForgotPassword-test.js.snap | 2 + .../src/Auth/FederatedSignIn.jsx | 2 +- 9 files changed, 1077 insertions(+), 34 deletions(-) diff --git a/packages/aws-amplify-react/__tests__/Auth/ConfirmSignIn-test.js b/packages/aws-amplify-react/__tests__/Auth/ConfirmSignIn-test.js index 92f52a10ae1..dc9b0dc26e3 100644 --- a/packages/aws-amplify-react/__tests__/Auth/ConfirmSignIn-test.js +++ b/packages/aws-amplify-react/__tests__/Auth/ConfirmSignIn-test.js @@ -21,7 +21,7 @@ const deniedStates = [ ]; describe('ConfirmSignIn', () => { - describe('normal case', () => { + describe('render test', () => { test('render correctly with Props confirmSignIn', () => { const wrapper = shallow(); for (var i = 0; i < acceptedStates.length; i += 1){ @@ -33,6 +33,59 @@ describe('ConfirmSignIn', () => { } }); + test('render corrently with other authstate', () => { + const wrapper = shallow(); + + for (var i = 0; i < deniedStates.length; i += 1){ + wrapper.setProps({ + authState: deniedStates[i], + theme: AmplifyTheme + }); + + expect(wrapper).toMatchSnapshot(); + } + }); + + test('hidden if hide include confirmSignIn', () => { + const wrapper = shallow(); + wrapper.setProps({ + authState: acceptedStates[0], + hide: [ConfirmSignIn] + }); + expect(wrapper).toMatchSnapshot(); + }); + + }); + + describe('confirm test', () => { + test('user with challengeName SOFTWARE_TOKEN_MFA', async () => { + const wrapper = shallow(); + + const spyon = jest.spyOn(Auth, 'confirmSignIn').mockImplementationOnce(() => { + return Promise.resolve(); + }); + + wrapper.setProps({ + authState: acceptedStates[0], + theme: AmplifyTheme, + authData: { + user: { + challengeName: 'SOFTWARE_TOKEN_MFA' + } + } + }); + + const confirmSignIn = wrapper.instance(); + + await confirmSignIn.confirm(); + + expect(spyon).toBeCalled(); + + spyon.mockClear(); + }); + }); + + describe('normal case', () => { test('simulate clicking confirm button', async () => { const spyon = jest.spyOn(Auth, 'confirmSignIn') .mockImplementation((user, code) => { @@ -83,19 +136,4 @@ describe('ConfirmSignIn', () => { spyon2.mockClear(); }); }); - - describe('null case with other authState', () => { - test('render corrently', () => { - const wrapper = shallow(); - - for (var i = 0; i < deniedStates.length; i += 1){ - wrapper.setProps({ - authState: deniedStates[i], - theme: AmplifyTheme - }); - - expect(wrapper).toMatchSnapshot(); - } - }); - }); }) \ No newline at end of file diff --git a/packages/aws-amplify-react/__tests__/Auth/FederatedSignIn-test.js b/packages/aws-amplify-react/__tests__/Auth/FederatedSignIn-test.js index 282185bae13..de50d98afb5 100644 --- a/packages/aws-amplify-react/__tests__/Auth/FederatedSignIn-test.js +++ b/packages/aws-amplify-react/__tests__/Auth/FederatedSignIn-test.js @@ -14,7 +14,7 @@ describe('FederatedSignIn test', () => { const wrapper = shallow(); wrapper.setProps({ - federated: true, + federated: {}, authState: 'signIn', onStateChange: jest.fn() }); @@ -25,7 +25,7 @@ describe('FederatedSignIn test', () => { const wrapper = shallow(); wrapper.setProps({ - federated: true, + federated: {}, authState: 'signedIn', onStateChange: jest.fn() }); @@ -36,7 +36,7 @@ describe('FederatedSignIn test', () => { const wrapper = shallow(); wrapper.setProps({ - federated: false, + federated: undefined, authState: 'signIn', onStateChange: jest.fn() }); diff --git a/packages/aws-amplify-react/__tests__/Auth/ForgotPassword-test.js b/packages/aws-amplify-react/__tests__/Auth/ForgotPassword-test.js index 628b9d1b3ad..25870091efc 100644 --- a/packages/aws-amplify-react/__tests__/Auth/ForgotPassword-test.js +++ b/packages/aws-amplify-react/__tests__/Auth/ForgotPassword-test.js @@ -46,6 +46,15 @@ describe('forgotPassword', () => { } }); + test('hidden if hide include ForgotPassword', () => { + const wrapper = shallow(); + wrapper.setProps({ + authState: acceptedStates[0], + hide: [ForgotPassword] + }); + expect(wrapper).toMatchSnapshot(); + }); + test('simulating clicking submit', async () => { const spyon = jest.spyOn(Auth, 'forgotPasswordSubmit') .mockImplementationOnce(() => { diff --git a/packages/aws-amplify-react/__tests__/Auth/Provider/__snapshots__/withHostedCognito-test.js.snap b/packages/aws-amplify-react/__tests__/Auth/Provider/__snapshots__/withHostedCognito-test.js.snap index 33ad9329d1d..ecc58da5033 100644 --- a/packages/aws-amplify-react/__tests__/Auth/Provider/__snapshots__/withHostedCognito-test.js.snap +++ b/packages/aws-amplify-react/__tests__/Auth/Provider/__snapshots__/withHostedCognito-test.js.snap @@ -5,3 +5,9 @@ exports[`withHostedCognito test render test render correctly 1`] = ` hostedCognitoSignIn={[Function]} /> `; + +exports[`withHostedCognito test render test render correctly with hosted cognito button 1`] = ` + - ) - } - } +To invoke the browser to display the hosted UI, you need to construct the URL in your app; + +```js +const config = Auth.configure(); +const { + AppWebDomain, + RedirectUriSignIn, + RedirectUriSignOut, + ResponseType } = config.hostedUIOptions; + +const clientId = config.userPoolWebClientId; +const url = 'https://' + AppWebDomain + '/login?redirect_uri=' + RedirectUriSignIn + '&response_type=' + ResponseType + '&client_id=' + clientId; + +// Launch hosted UI +window.location.assign(url); + +``` + +#### Launching the Hosted UI in React + +With React, you can simply use `withHostedAuthenticator` HOC to launch the hosted UI experience. Just wrap your app's main component with our HOC: + +```js +import { withHostedAuthenticator } from 'aws-amplify-react'; + +class MyApp extends React.Component { + // ... + render() { + return( + + ) + } +} + +export default withHostedAuthenticator(MyApp); +``` - export default withHostedCognito(MyComp); - ``` - -* If you are NOT using ```aws-amplify-react```: - * you need to construct the url yourself: - ```js - const config = Auth.configure(); - const { - AppWebDomain, - RedirectUriSignIn, - RedirectUriSignOut, - ResponseType } = config.hostedUIOptions; - const clientId = config.userPoolWebClientId; - const url = 'https://' + AppWebDomain + '/login?redirect_uri=' + RedirectUriSignIn + '&response_type=' + ResponseType + '&client_id=' + clientId; - window.location.assign(url); - ``` +While using `aws-amplify-react`, *Sign in with Amazon* button will appear in your login page when you work with *withAuthenticator* HOC or *Authenticator* component. + ### Enabling MFA (Multi-Factor Authentication) From 4903830523153f0949581338c1b5f6cf3d5c01bb Mon Sep 17 00:00:00 2001 From: powerful23 Date: Tue, 10 Apr 2018 14:18:59 -0700 Subject: [PATCH 17/22] update to withOAuth --- docs/media/authentication_guide.md | 8 ++++---- .../withHostedCognito-test.js.snap | 13 ------------ .../__snapshots__/withOAuth-test.js.snap | 13 ++++++++++++ ...ostedCognito-test.js => withOAuth-test.js} | 12 +++++------ .../FederatedSignIn-test.js.snap | 4 ++-- .../src/Auth/FederatedSignIn.jsx | 20 +++++++++---------- .../src/Auth/Provider/index.jsx | 6 +++--- .../{withHostedCognito.jsx => withOAuth.jsx} | 12 +++++------ 8 files changed, 43 insertions(+), 45 deletions(-) delete mode 100644 packages/aws-amplify-react/__tests__/Auth/Provider/__snapshots__/withHostedCognito-test.js.snap create mode 100644 packages/aws-amplify-react/__tests__/Auth/Provider/__snapshots__/withOAuth-test.js.snap rename packages/aws-amplify-react/__tests__/Auth/Provider/{withHostedCognito-test.js => withOAuth-test.js} (79%) rename packages/aws-amplify-react/src/Auth/Provider/{withHostedCognito.jsx => withOAuth.jsx} (78%) diff --git a/docs/media/authentication_guide.md b/docs/media/authentication_guide.md index e65367dba82..c26267da5c6 100644 --- a/docs/media/authentication_guide.md +++ b/docs/media/authentication_guide.md @@ -449,23 +449,23 @@ window.location.assign(url); #### Launching the Hosted UI in React -With React, you can simply use `withHostedAuthenticator` HOC to launch the hosted UI experience. Just wrap your app's main component with our HOC: +With React, you can simply use `withOAuth` HOC to launch the hosted UI experience. Just wrap your app's main component with our HOC: ```js -import { withHostedAuthenticator } from 'aws-amplify-react'; +import { withOAuth } from 'aws-amplify-react'; class MyApp extends React.Component { // ... render() { return( - ) } } -export default withHostedAuthenticator(MyApp); +export default withOAuth(MyApp); ``` While using `aws-amplify-react`, *Sign in with Amazon* button will appear in your login page when you work with *withAuthenticator* HOC or *Authenticator* component. diff --git a/packages/aws-amplify-react/__tests__/Auth/Provider/__snapshots__/withHostedCognito-test.js.snap b/packages/aws-amplify-react/__tests__/Auth/Provider/__snapshots__/withHostedCognito-test.js.snap deleted file mode 100644 index ecc58da5033..00000000000 --- a/packages/aws-amplify-react/__tests__/Auth/Provider/__snapshots__/withHostedCognito-test.js.snap +++ /dev/null @@ -1,13 +0,0 @@ -// Jest Snapshot v1, https://goo.gl/fbAQLP - -exports[`withHostedCognito test render test render correctly 1`] = ` - -`; - -exports[`withHostedCognito test render test render correctly with hosted cognito button 1`] = ` -