@edx/frontend-platform 7.1.4 → 8.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (66) hide show
  1. package/analytics/MockAnalyticsService.js +2 -2
  2. package/analytics/MockAnalyticsService.js.map +1 -1
  3. package/analytics/SegmentAnalyticsService.js +2 -2
  4. package/analytics/SegmentAnalyticsService.js.map +1 -1
  5. package/analytics/index.js.map +1 -1
  6. package/analytics/interface.js.map +1 -1
  7. package/auth/AxiosCsrfTokenService.js +2 -2
  8. package/auth/AxiosCsrfTokenService.js.map +1 -1
  9. package/auth/AxiosJwtAuthService.js +8 -5
  10. package/auth/AxiosJwtAuthService.js.map +1 -1
  11. package/auth/AxiosJwtTokenService.js +2 -2
  12. package/auth/AxiosJwtTokenService.js.map +1 -1
  13. package/auth/LocalForageCache.js.map +1 -1
  14. package/auth/MockAuthService.js +2 -2
  15. package/auth/MockAuthService.js.map +1 -1
  16. package/auth/index.js.map +1 -1
  17. package/auth/interceptors/createCsrfTokenProviderInterceptor.js.map +1 -1
  18. package/auth/interceptors/createJwtTokenProviderInterceptor.js.map +1 -1
  19. package/auth/interceptors/createProcessAxiosRequestErrorInterceptor.js.map +1 -1
  20. package/auth/interceptors/createRetryInterceptor.js.map +1 -1
  21. package/auth/interface.js.map +1 -1
  22. package/auth/utils.js +2 -2
  23. package/auth/utils.js.map +1 -1
  24. package/config.js.map +1 -1
  25. package/constants.js.map +1 -1
  26. package/i18n/countries.js.map +1 -1
  27. package/i18n/index.js.map +1 -1
  28. package/i18n/injectIntlWithShim.js +7 -8
  29. package/i18n/injectIntlWithShim.js.map +1 -1
  30. package/i18n/languages.js.map +1 -1
  31. package/i18n/lib.js +0 -5
  32. package/i18n/lib.js.map +1 -1
  33. package/i18n/scripts/intl-imports.js +0 -1
  34. package/i18n/scripts/intl-imports.js.map +1 -1
  35. package/i18n/scripts/transifex-utils.js.map +1 -1
  36. package/index.js.map +1 -1
  37. package/initialize.js +2 -2
  38. package/initialize.js.map +1 -1
  39. package/logging/MockLoggingService.js +2 -2
  40. package/logging/MockLoggingService.js.map +1 -1
  41. package/logging/NewRelicLoggingService.js +2 -5
  42. package/logging/NewRelicLoggingService.js.map +1 -1
  43. package/logging/index.js.map +1 -1
  44. package/logging/interface.js.map +1 -1
  45. package/package.json +6 -6
  46. package/pubSub.js.map +1 -1
  47. package/react/AppContext.js.map +1 -1
  48. package/react/AppProvider.js.map +1 -1
  49. package/react/AuthenticatedPageRoute.js.map +1 -1
  50. package/react/ErrorBoundary.js +7 -8
  51. package/react/ErrorBoundary.js.map +1 -1
  52. package/react/ErrorPage.js.map +1 -1
  53. package/react/LoginRedirect.js.map +1 -1
  54. package/react/OptionalReduxProvider.js.map +1 -1
  55. package/react/PageWrap.js.map +1 -1
  56. package/react/hooks.js.map +1 -1
  57. package/react/index.js.map +1 -1
  58. package/scripts/GoogleAnalyticsLoader.js +2 -2
  59. package/scripts/GoogleAnalyticsLoader.js.map +1 -1
  60. package/scripts/index.js.map +1 -1
  61. package/testing/index.js.map +1 -1
  62. package/testing/initializeMockApp.js +2 -2
  63. package/testing/initializeMockApp.js.map +1 -1
  64. package/testing/mockMessages.js.map +1 -1
  65. package/utils.js +2 -2
  66. package/utils.js.map +1 -1
@@ -3,8 +3,8 @@ function _defineProperties(target, props) { for (var i = 0; i < props.length; i+
3
3
  function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
4
4
  function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
5
5
  function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
6
- function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
7
- function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
6
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
7
+ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
8
8
  /**
9
9
  * The MockAnalyticsService implements all functions of AnalyticsService as Jest mocks (jest.fn())).
10
10
  * It emulates the behavior of a real analytics service but witohut making any requests. It has no
@@ -1 +1 @@
1
- {"version":3,"file":"MockAnalyticsService.js","names":["MockAnalyticsService","_createClass","_ref","_this","httpClient","loggingService","_classCallCheck","_defineProperty","jest","fn","hasIdentifyBeenCalled","logError","Promise","resolve","userId","Error","checkIdentifyCalled"],"sources":["../../src/analytics/MockAnalyticsService.js"],"sourcesContent":["/**\n * The MockAnalyticsService implements all functions of AnalyticsService as Jest mocks (jest.fn())).\n * It emulates the behavior of a real analytics service but witohut making any requests. It has no\n * other functionality.\n *\n * @implements {AnalyticsService}\n * @memberof module:Analytics\n */\nclass MockAnalyticsService {\n static hasIdentifyBeenCalled = false;\n\n constructor({ httpClient, loggingService }) {\n this.loggingService = loggingService;\n this.httpClient = httpClient;\n }\n\n checkIdentifyCalled = jest.fn(() => {\n if (!this.hasIdentifyBeenCalled) {\n this.loggingService.logError('Identify must be called before other tracking events.');\n }\n });\n\n /**\n * Returns a resolved promise.\n *\n * @returns {Promise} The promise returned by HttpClient.post.\n */\n sendTrackingLogEvent = jest.fn(() => Promise.resolve());\n\n /**\n * No-op, but records that identify has been called.\n *\n * @param {string} userId\n * @throws {Error} If userId argument is not supplied.\n */\n identifyAuthenticatedUser = jest.fn((userId) => {\n if (!userId) {\n throw new Error('UserId is required for identifyAuthenticatedUser.');\n }\n this.hasIdentifyBeenCalled = true;\n });\n\n /**\n * No-op, but records that it has been called to prevent double-identification.\n * @returns {Promise} A resolved promise.\n */\n identifyAnonymousUser = jest.fn(() => {\n this.hasIdentifyBeenCalled = true;\n return Promise.resolve();\n });\n\n /**\n * Logs the event to the console.\n *\n * Checks whether identify has been called, logging an error to the logging service if not.\n */\n sendTrackEvent = jest.fn(() => {\n this.checkIdentifyCalled();\n });\n\n /**\n * Logs the event to the console.\n *\n * Checks whether identify has been called, logging an error to the logging service if not.\n */\n sendPageEvent = jest.fn(() => {\n this.checkIdentifyCalled();\n });\n}\n\nexport default MockAnalyticsService;\n"],"mappings":";;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAPA,IAQMA,oBAAoB,gBAAAC,YAAA,CAGxB,SAAAD,qBAAAE,IAAA,EAA4C;EAAA,IAAAC,KAAA;EAAA,IAA9BC,UAAU,GAAAF,IAAA,CAAVE,UAAU;IAAEC,cAAc,GAAAH,IAAA,CAAdG,cAAc;EAAAC,eAAA,OAAAN,oBAAA;EAAAO,eAAA,8BAKlBC,IAAI,CAACC,EAAE,CAAC,YAAM;IAClC,IAAI,CAACN,KAAI,CAACO,qBAAqB,EAAE;MAC/BP,KAAI,CAACE,cAAc,CAACM,QAAQ,CAAC,uDAAuD,CAAC;IACvF;EACF,CAAC,CAAC;EAEF;AACF;AACA;AACA;AACA;EAJEJ,eAAA,+BAKuBC,IAAI,CAACC,EAAE,CAAC;IAAA,OAAMG,OAAO,CAACC,OAAO,CAAC,CAAC;EAAA,EAAC;EAEvD;AACF;AACA;AACA;AACA;AACA;EALEN,eAAA,oCAM4BC,IAAI,CAACC,EAAE,CAAC,UAACK,MAAM,EAAK;IAC9C,IAAI,CAACA,MAAM,EAAE;MACX,MAAM,IAAIC,KAAK,CAAC,mDAAmD,CAAC;IACtE;IACAZ,KAAI,CAACO,qBAAqB,GAAG,IAAI;EACnC,CAAC,CAAC;EAEF;AACF;AACA;AACA;EAHEH,eAAA,gCAIwBC,IAAI,CAACC,EAAE,CAAC,YAAM;IACpCN,KAAI,CAACO,qBAAqB,GAAG,IAAI;IACjC,OAAOE,OAAO,CAACC,OAAO,CAAC,CAAC;EAC1B,CAAC,CAAC;EAEF;AACF;AACA;AACA;AACA;EAJEN,eAAA,yBAKiBC,IAAI,CAACC,EAAE,CAAC,YAAM;IAC7BN,KAAI,CAACa,mBAAmB,CAAC,CAAC;EAC5B,CAAC,CAAC;EAEF;AACF;AACA;AACA;AACA;EAJET,eAAA,wBAKgBC,IAAI,CAACC,EAAE,CAAC,YAAM;IAC5BN,KAAI,CAACa,mBAAmB,CAAC,CAAC;EAC5B,CAAC,CAAC;EAvDA,IAAI,CAACX,cAAc,GAAGA,cAAc;EACpC,IAAI,CAACD,UAAU,GAAGA,UAAU;AAC9B,CAAC;AAAAG,eAAA,CANGP,oBAAoB,2BACO,KAAK;AA6DtC,eAAeA,oBAAoB"}
1
+ {"version":3,"file":"MockAnalyticsService.js","names":["MockAnalyticsService","_createClass","_ref","_this","httpClient","loggingService","_classCallCheck","_defineProperty","jest","fn","hasIdentifyBeenCalled","logError","Promise","resolve","userId","Error","checkIdentifyCalled"],"sources":["../../src/analytics/MockAnalyticsService.js"],"sourcesContent":["/**\n * The MockAnalyticsService implements all functions of AnalyticsService as Jest mocks (jest.fn())).\n * It emulates the behavior of a real analytics service but witohut making any requests. It has no\n * other functionality.\n *\n * @implements {AnalyticsService}\n * @memberof module:Analytics\n */\nclass MockAnalyticsService {\n static hasIdentifyBeenCalled = false;\n\n constructor({ httpClient, loggingService }) {\n this.loggingService = loggingService;\n this.httpClient = httpClient;\n }\n\n checkIdentifyCalled = jest.fn(() => {\n if (!this.hasIdentifyBeenCalled) {\n this.loggingService.logError('Identify must be called before other tracking events.');\n }\n });\n\n /**\n * Returns a resolved promise.\n *\n * @returns {Promise} The promise returned by HttpClient.post.\n */\n sendTrackingLogEvent = jest.fn(() => Promise.resolve());\n\n /**\n * No-op, but records that identify has been called.\n *\n * @param {string} userId\n * @throws {Error} If userId argument is not supplied.\n */\n identifyAuthenticatedUser = jest.fn((userId) => {\n if (!userId) {\n throw new Error('UserId is required for identifyAuthenticatedUser.');\n }\n this.hasIdentifyBeenCalled = true;\n });\n\n /**\n * No-op, but records that it has been called to prevent double-identification.\n * @returns {Promise} A resolved promise.\n */\n identifyAnonymousUser = jest.fn(() => {\n this.hasIdentifyBeenCalled = true;\n return Promise.resolve();\n });\n\n /**\n * Logs the event to the console.\n *\n * Checks whether identify has been called, logging an error to the logging service if not.\n */\n sendTrackEvent = jest.fn(() => {\n this.checkIdentifyCalled();\n });\n\n /**\n * Logs the event to the console.\n *\n * Checks whether identify has been called, logging an error to the logging service if not.\n */\n sendPageEvent = jest.fn(() => {\n this.checkIdentifyCalled();\n });\n}\n\nexport default MockAnalyticsService;\n"],"mappings":";;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAPA,IAQMA,oBAAoB,gBAAAC,YAAA,CAGxB,SAAAD,qBAAAE,IAAA,EAA4C;EAAA,IAAAC,KAAA;EAAA,IAA9BC,UAAU,GAAAF,IAAA,CAAVE,UAAU;IAAEC,cAAc,GAAAH,IAAA,CAAdG,cAAc;EAAAC,eAAA,OAAAN,oBAAA;EAAAO,eAAA,8BAKlBC,IAAI,CAACC,EAAE,CAAC,YAAM;IAClC,IAAI,CAACN,KAAI,CAACO,qBAAqB,EAAE;MAC/BP,KAAI,CAACE,cAAc,CAACM,QAAQ,CAAC,uDAAuD,CAAC;IACvF;EACF,CAAC,CAAC;EAEF;AACF;AACA;AACA;AACA;EAJEJ,eAAA,+BAKuBC,IAAI,CAACC,EAAE,CAAC;IAAA,OAAMG,OAAO,CAACC,OAAO,CAAC,CAAC;EAAA,EAAC;EAEvD;AACF;AACA;AACA;AACA;AACA;EALEN,eAAA,oCAM4BC,IAAI,CAACC,EAAE,CAAC,UAACK,MAAM,EAAK;IAC9C,IAAI,CAACA,MAAM,EAAE;MACX,MAAM,IAAIC,KAAK,CAAC,mDAAmD,CAAC;IACtE;IACAZ,KAAI,CAACO,qBAAqB,GAAG,IAAI;EACnC,CAAC,CAAC;EAEF;AACF;AACA;AACA;EAHEH,eAAA,gCAIwBC,IAAI,CAACC,EAAE,CAAC,YAAM;IACpCN,KAAI,CAACO,qBAAqB,GAAG,IAAI;IACjC,OAAOE,OAAO,CAACC,OAAO,CAAC,CAAC;EAC1B,CAAC,CAAC;EAEF;AACF;AACA;AACA;AACA;EAJEN,eAAA,yBAKiBC,IAAI,CAACC,EAAE,CAAC,YAAM;IAC7BN,KAAI,CAACa,mBAAmB,CAAC,CAAC;EAC5B,CAAC,CAAC;EAEF;AACF;AACA;AACA;AACA;EAJET,eAAA,wBAKgBC,IAAI,CAACC,EAAE,CAAC,YAAM;IAC5BN,KAAI,CAACa,mBAAmB,CAAC,CAAC;EAC5B,CAAC,CAAC;EAvDA,IAAI,CAACX,cAAc,GAAGA,cAAc;EACpC,IAAI,CAACD,UAAU,GAAGA,UAAU;AAC9B,CAAC;AAAAG,eAAA,CANGP,oBAAoB,2BACO,KAAK;AA6DtC,eAAeA,oBAAoB","ignoreList":[]}
@@ -2,8 +2,8 @@ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" ==
2
2
  function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
3
3
  function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }
4
4
  function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
5
- function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
6
- function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
5
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
6
+ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
7
7
  import formurlencoded from 'form-urlencoded';
8
8
  import { snakeCaseObject } from '../utils';
9
9
 
@@ -1 +1 @@
1
- {"version":3,"file":"SegmentAnalyticsService.js","names":["formurlencoded","snakeCaseObject","SegmentAnalyticsService","_ref","httpClient","loggingService","config","_classCallCheck","trackingLogApiUrl","concat","LMS_BASE_URL","segmentKey","SEGMENT_KEY","hasIdentifyBeenCalled","segmentInitialized","initializeSegment","_createClass","key","value","_this","global","analytics","_global","initialize","invoked","methods","factory","method","_len","arguments","length","args","Array","_key","unshift","push","forEach","load","options","script","document","createElement","type","onerror","event","Event","dispatchEvent","async","src","first","getElementsByTagName","parentNode","insertBefore","_loadOptions","SNIPPET_VERSION","checkIdentifyCalled","logError","sendTrackingLogEvent","eventName","properties","_this2","snakeEventData","deep","serverData","event_type","JSON","stringify","page","location","href","post","headers","error","identifyAuthenticatedUser","userId","traits","Error","identify","identifyAnonymousUser","_this3","Promise","resolve","reject","ready","user","id","reset","addEventListener","setTimeout","ga","create","google_tag_manager","sendTrackEvent","track","sendPageEvent","category","name"],"sources":["../../src/analytics/SegmentAnalyticsService.js"],"sourcesContent":["import formurlencoded from 'form-urlencoded';\nimport { snakeCaseObject } from '../utils';\n\n/**\n * @implements {AnalyticsService}\n * @memberof module:Analytics\n */\nclass SegmentAnalyticsService {\n constructor({ httpClient, loggingService, config }) {\n this.loggingService = loggingService;\n this.httpClient = httpClient;\n this.trackingLogApiUrl = `${config.LMS_BASE_URL}/event`;\n this.segmentKey = config.SEGMENT_KEY;\n this.hasIdentifyBeenCalled = false;\n this.segmentInitialized = false;\n\n if (this.segmentKey) {\n this.initializeSegment();\n }\n }\n\n // The code in this function is from Segment's website, with a few updates:\n // - It uses the segmentKey from the SegmentAnalyticsService instance.\n // - It also saves a \"segmentInitialized\" variable on the SegmentAnalyticsService instance so\n // that the service can keep track of its own initialization state.\n // Reference:\n // https://segment.com/docs/connections/sources/catalog/libraries/website/javascript/quickstart/\n initializeSegment() {\n // Create a queue, but don't obliterate an existing one!\n global.analytics = global.analytics || [];\n const { analytics } = global;\n\n // If the real analytics.js is already on the page return.\n if (analytics.initialize) {\n this.segmentInitialized = true;\n return;\n }\n\n // If the snippet was invoked do nothing.\n if (analytics.invoked) {\n this.segmentInitialized = true;\n return;\n }\n\n // Invoked flag, to make sure the snippet\n // is never invoked twice.\n analytics.invoked = true;\n\n // A list of the methods in Analytics.js to stub.\n analytics.methods = [\n 'trackSubmit',\n 'trackClick',\n 'trackLink',\n 'trackForm',\n 'pageview',\n 'identify',\n 'reset',\n 'group',\n 'track',\n 'ready',\n 'alias',\n 'debug',\n 'page',\n 'once',\n 'off',\n 'on',\n ];\n\n // Define a factory to create stubs. These are placeholders\n // for methods in Analytics.js so that you never have to wait\n // for it to load to actually record data. The `method` is\n // stored as the first argument, so we can replay the data.\n analytics.factory = method => ((...args) => {\n args.unshift(method);\n analytics.push(args);\n return analytics;\n });\n\n // For each of our methods, generate a queueing stub.\n analytics.methods.forEach((key) => {\n analytics[key] = analytics.factory(key);\n });\n\n // Define a method to load Analytics.js from our CDN,\n // and that will be sure to only ever load it once.\n analytics.load = (key, options) => {\n // Create an async script element based on your key.\n const script = document.createElement('script');\n script.type = 'text/javascript';\n script.onerror = () => {\n this.segmentInitialized = false;\n const event = new Event('segmentFailed');\n document.dispatchEvent(event);\n };\n script.async = true;\n script.src = `https://cdn.segment.com/analytics.js/v1/${key}/analytics.min.js`;\n\n // Insert our script next to the first script element.\n const first = document.getElementsByTagName('script')[0];\n first.parentNode.insertBefore(script, first);\n analytics._loadOptions = options; // eslint-disable-line no-underscore-dangle\n\n this.segmentInitialized = true;\n };\n\n // Add a version to keep track of what's in the wild.\n analytics.SNIPPET_VERSION = '4.1.0';\n\n // Load Analytics.js with your key, which will automatically\n // load the tools you've enabled for your account. Boosh!\n analytics.load(this.segmentKey);\n }\n\n /**\n * Checks that identify was first called. Otherwise, logs error.\n *\n */\n checkIdentifyCalled() {\n if (!this.hasIdentifyBeenCalled) {\n this.loggingService.logError('Identify must be called before other tracking events.');\n }\n }\n\n /**\n * Logs events to tracking log and downstream.\n * For tracking log event documentation, see\n * https://openedx.atlassian.net/wiki/spaces/AN/pages/13205895/Event+Design+and+Review+Process\n *\n * @param {string} eventName (event_type on backend, but named to match Segment api)\n * @param {Object} properties (event on backend, but named properties to match Segment api)\n * @returns {Promise} The promise returned by HttpClient.post.\n */\n sendTrackingLogEvent(eventName, properties) {\n const snakeEventData = snakeCaseObject(properties, { deep: true });\n const serverData = {\n event_type: eventName,\n event: JSON.stringify(snakeEventData),\n page: global.location.href,\n };\n return this.httpClient.post(\n this.trackingLogApiUrl,\n formurlencoded(serverData),\n {\n headers: {\n 'Content-Type': 'application/x-www-form-urlencoded',\n },\n },\n ).catch((error) => {\n this.loggingService.logError(error);\n });\n }\n\n /**\n * * Send identify call to Segment.\n *\n * @param {string} userId\n * @param {*} [traits]\n */\n identifyAuthenticatedUser(userId, traits) {\n if (!userId) {\n throw new Error('UserId is required for identifyAuthenticatedUser.');\n }\n\n if (!this.segmentInitialized) {\n return;\n }\n global.analytics.identify(userId, traits);\n this.hasIdentifyBeenCalled = true;\n }\n\n /**\n * Send anonymous identify call to Segment's identify.\n *\n * @param {*} [traits]\n * @returns {Promise} Promise that will resolve once the document readyState is complete\n */\n identifyAnonymousUser(traits) { // eslint-disable-line no-unused-vars\n if (!this.segmentInitialized) {\n return Promise.resolve();\n }\n // if we do not have an authenticated user (indicated by being in this method),\n // but we still have a user id associated in segment, reset the local segment state\n // This has to be wrapped in the analytics.ready() callback because the analytics.user()\n // function isn't available until the analytics.js package has finished initializing.\n return new Promise((resolve, reject) => { // eslint-disable-line no-unused-vars\n global.analytics.ready(() => {\n if (global.analytics.user().id()) {\n global.analytics.reset();\n }\n // We don’t need to call `identify` for anonymous users and can just make the value of\n // hasIdentifyBeenCalled true. Segment automatically assigns them an anonymousId, so\n // just calling `page` and `track` works fine without identify.\n this.hasIdentifyBeenCalled = true;\n resolve();\n });\n\n // this is added to handle a specific use-case where if a user has blocked the analytics\n // tools in their browser, this promise does not get resolved and user sees a blank\n // page. Dispatching this event in script.onerror callback in analytics.load.\n document.addEventListener('segmentFailed', resolve);\n // This is added to handle the google analytics blocked case which is injected into\n // the DOM by segment.min.js.\n setTimeout(() => {\n if (!global.ga || !global.ga.create || !global.google_tag_manager) {\n this.segmentInitialized = false;\n resolve();\n }\n }, 2000);\n });\n }\n\n /**\n * Sends a track event to Segment and downstream.\n * Note: For links and forms, you should use trackLink and trackForm instead.\n *\n * @param {*} eventName\n * @param {*} [properties]\n */\n sendTrackEvent(eventName, properties) {\n if (!this.segmentInitialized) {\n return;\n }\n this.checkIdentifyCalled();\n global.analytics.track(eventName, properties);\n }\n\n /**\n * Sends a page event to Segment and downstream.\n *\n * @param {*} [name] If only one string arg provided, assumed to be name.\n * @param {*} [category] Name is required to pass a category.\n * @param {*} [properties]\n */\n sendPageEvent(category, name, properties) {\n if (!this.segmentInitialized) {\n return;\n }\n this.checkIdentifyCalled();\n global.analytics.page(category, name, properties);\n }\n}\n\nexport default SegmentAnalyticsService;\n"],"mappings":"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"}
1
+ {"version":3,"file":"SegmentAnalyticsService.js","names":["formurlencoded","snakeCaseObject","SegmentAnalyticsService","_ref","httpClient","loggingService","config","_classCallCheck","trackingLogApiUrl","concat","LMS_BASE_URL","segmentKey","SEGMENT_KEY","hasIdentifyBeenCalled","segmentInitialized","initializeSegment","_createClass","key","value","_this","global","analytics","_global","initialize","invoked","methods","factory","method","_len","arguments","length","args","Array","_key","unshift","push","forEach","load","options","script","document","createElement","type","onerror","event","Event","dispatchEvent","async","src","first","getElementsByTagName","parentNode","insertBefore","_loadOptions","SNIPPET_VERSION","checkIdentifyCalled","logError","sendTrackingLogEvent","eventName","properties","_this2","snakeEventData","deep","serverData","event_type","JSON","stringify","page","location","href","post","headers","error","identifyAuthenticatedUser","userId","traits","Error","identify","identifyAnonymousUser","_this3","Promise","resolve","reject","ready","user","id","reset","addEventListener","setTimeout","ga","create","google_tag_manager","sendTrackEvent","track","sendPageEvent","category","name"],"sources":["../../src/analytics/SegmentAnalyticsService.js"],"sourcesContent":["import formurlencoded from 'form-urlencoded';\nimport { snakeCaseObject } from '../utils';\n\n/**\n * @implements {AnalyticsService}\n * @memberof module:Analytics\n */\nclass SegmentAnalyticsService {\n constructor({ httpClient, loggingService, config }) {\n this.loggingService = loggingService;\n this.httpClient = httpClient;\n this.trackingLogApiUrl = `${config.LMS_BASE_URL}/event`;\n this.segmentKey = config.SEGMENT_KEY;\n this.hasIdentifyBeenCalled = false;\n this.segmentInitialized = false;\n\n if (this.segmentKey) {\n this.initializeSegment();\n }\n }\n\n // The code in this function is from Segment's website, with a few updates:\n // - It uses the segmentKey from the SegmentAnalyticsService instance.\n // - It also saves a \"segmentInitialized\" variable on the SegmentAnalyticsService instance so\n // that the service can keep track of its own initialization state.\n // Reference:\n // https://segment.com/docs/connections/sources/catalog/libraries/website/javascript/quickstart/\n initializeSegment() {\n // Create a queue, but don't obliterate an existing one!\n global.analytics = global.analytics || [];\n const { analytics } = global;\n\n // If the real analytics.js is already on the page return.\n if (analytics.initialize) {\n this.segmentInitialized = true;\n return;\n }\n\n // If the snippet was invoked do nothing.\n if (analytics.invoked) {\n this.segmentInitialized = true;\n return;\n }\n\n // Invoked flag, to make sure the snippet\n // is never invoked twice.\n analytics.invoked = true;\n\n // A list of the methods in Analytics.js to stub.\n analytics.methods = [\n 'trackSubmit',\n 'trackClick',\n 'trackLink',\n 'trackForm',\n 'pageview',\n 'identify',\n 'reset',\n 'group',\n 'track',\n 'ready',\n 'alias',\n 'debug',\n 'page',\n 'once',\n 'off',\n 'on',\n ];\n\n // Define a factory to create stubs. These are placeholders\n // for methods in Analytics.js so that you never have to wait\n // for it to load to actually record data. The `method` is\n // stored as the first argument, so we can replay the data.\n analytics.factory = method => ((...args) => {\n args.unshift(method);\n analytics.push(args);\n return analytics;\n });\n\n // For each of our methods, generate a queueing stub.\n analytics.methods.forEach((key) => {\n analytics[key] = analytics.factory(key);\n });\n\n // Define a method to load Analytics.js from our CDN,\n // and that will be sure to only ever load it once.\n analytics.load = (key, options) => {\n // Create an async script element based on your key.\n const script = document.createElement('script');\n script.type = 'text/javascript';\n script.onerror = () => {\n this.segmentInitialized = false;\n const event = new Event('segmentFailed');\n document.dispatchEvent(event);\n };\n script.async = true;\n script.src = `https://cdn.segment.com/analytics.js/v1/${key}/analytics.min.js`;\n\n // Insert our script next to the first script element.\n const first = document.getElementsByTagName('script')[0];\n first.parentNode.insertBefore(script, first);\n analytics._loadOptions = options; // eslint-disable-line no-underscore-dangle\n\n this.segmentInitialized = true;\n };\n\n // Add a version to keep track of what's in the wild.\n analytics.SNIPPET_VERSION = '4.1.0';\n\n // Load Analytics.js with your key, which will automatically\n // load the tools you've enabled for your account. Boosh!\n analytics.load(this.segmentKey);\n }\n\n /**\n * Checks that identify was first called. Otherwise, logs error.\n *\n */\n checkIdentifyCalled() {\n if (!this.hasIdentifyBeenCalled) {\n this.loggingService.logError('Identify must be called before other tracking events.');\n }\n }\n\n /**\n * Logs events to tracking log and downstream.\n * For tracking log event documentation, see\n * https://openedx.atlassian.net/wiki/spaces/AN/pages/13205895/Event+Design+and+Review+Process\n *\n * @param {string} eventName (event_type on backend, but named to match Segment api)\n * @param {Object} properties (event on backend, but named properties to match Segment api)\n * @returns {Promise} The promise returned by HttpClient.post.\n */\n sendTrackingLogEvent(eventName, properties) {\n const snakeEventData = snakeCaseObject(properties, { deep: true });\n const serverData = {\n event_type: eventName,\n event: JSON.stringify(snakeEventData),\n page: global.location.href,\n };\n return this.httpClient.post(\n this.trackingLogApiUrl,\n formurlencoded(serverData),\n {\n headers: {\n 'Content-Type': 'application/x-www-form-urlencoded',\n },\n },\n ).catch((error) => {\n this.loggingService.logError(error);\n });\n }\n\n /**\n * * Send identify call to Segment.\n *\n * @param {string} userId\n * @param {*} [traits]\n */\n identifyAuthenticatedUser(userId, traits) {\n if (!userId) {\n throw new Error('UserId is required for identifyAuthenticatedUser.');\n }\n\n if (!this.segmentInitialized) {\n return;\n }\n global.analytics.identify(userId, traits);\n this.hasIdentifyBeenCalled = true;\n }\n\n /**\n * Send anonymous identify call to Segment's identify.\n *\n * @param {*} [traits]\n * @returns {Promise} Promise that will resolve once the document readyState is complete\n */\n identifyAnonymousUser(traits) { // eslint-disable-line no-unused-vars\n if (!this.segmentInitialized) {\n return Promise.resolve();\n }\n // if we do not have an authenticated user (indicated by being in this method),\n // but we still have a user id associated in segment, reset the local segment state\n // This has to be wrapped in the analytics.ready() callback because the analytics.user()\n // function isn't available until the analytics.js package has finished initializing.\n return new Promise((resolve, reject) => { // eslint-disable-line no-unused-vars\n global.analytics.ready(() => {\n if (global.analytics.user().id()) {\n global.analytics.reset();\n }\n // We don’t need to call `identify` for anonymous users and can just make the value of\n // hasIdentifyBeenCalled true. Segment automatically assigns them an anonymousId, so\n // just calling `page` and `track` works fine without identify.\n this.hasIdentifyBeenCalled = true;\n resolve();\n });\n\n // this is added to handle a specific use-case where if a user has blocked the analytics\n // tools in their browser, this promise does not get resolved and user sees a blank\n // page. Dispatching this event in script.onerror callback in analytics.load.\n document.addEventListener('segmentFailed', resolve);\n // This is added to handle the google analytics blocked case which is injected into\n // the DOM by segment.min.js.\n setTimeout(() => {\n if (!global.ga || !global.ga.create || !global.google_tag_manager) {\n this.segmentInitialized = false;\n resolve();\n }\n }, 2000);\n });\n }\n\n /**\n * Sends a track event to Segment and downstream.\n * Note: For links and forms, you should use trackLink and trackForm instead.\n *\n * @param {*} eventName\n * @param {*} [properties]\n */\n sendTrackEvent(eventName, properties) {\n if (!this.segmentInitialized) {\n return;\n }\n this.checkIdentifyCalled();\n global.analytics.track(eventName, properties);\n }\n\n /**\n * Sends a page event to Segment and downstream.\n *\n * @param {*} [name] If only one string arg provided, assumed to be name.\n * @param {*} [category] Name is required to pass a category.\n * @param {*} [properties]\n */\n sendPageEvent(category, name, properties) {\n if (!this.segmentInitialized) {\n return;\n }\n this.checkIdentifyCalled();\n global.analytics.page(category, name, properties);\n }\n}\n\nexport default SegmentAnalyticsService;\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["configure","identifyAnonymousUser","identifyAuthenticatedUser","sendPageEvent","sendTrackEvent","sendTrackingLogEvent","getAnalyticsService","resetAnalyticsService","default","SegmentAnalyticsService","MockAnalyticsService"],"sources":["../../src/analytics/index.js"],"sourcesContent":["export {\n configure,\n identifyAnonymousUser,\n identifyAuthenticatedUser,\n sendPageEvent,\n sendTrackEvent,\n sendTrackingLogEvent,\n getAnalyticsService,\n resetAnalyticsService,\n} from './interface';\nexport { default as SegmentAnalyticsService } from './SegmentAnalyticsService';\nexport { default as MockAnalyticsService } from './MockAnalyticsService';\n"],"mappings":"AAAA,SACEA,SAAS,EACTC,qBAAqB,EACrBC,yBAAyB,EACzBC,aAAa,EACbC,cAAc,EACdC,oBAAoB,EACpBC,mBAAmB,EACnBC,qBAAqB,QAChB,aAAa;AACpB,SAASC,OAAO,IAAIC,uBAAuB,QAAQ,2BAA2B;AAC9E,SAASD,OAAO,IAAIE,oBAAoB,QAAQ,wBAAwB"}
1
+ {"version":3,"file":"index.js","names":["configure","identifyAnonymousUser","identifyAuthenticatedUser","sendPageEvent","sendTrackEvent","sendTrackingLogEvent","getAnalyticsService","resetAnalyticsService","default","SegmentAnalyticsService","MockAnalyticsService"],"sources":["../../src/analytics/index.js"],"sourcesContent":["export {\n configure,\n identifyAnonymousUser,\n identifyAuthenticatedUser,\n sendPageEvent,\n sendTrackEvent,\n sendTrackingLogEvent,\n getAnalyticsService,\n resetAnalyticsService,\n} from './interface';\nexport { default as SegmentAnalyticsService } from './SegmentAnalyticsService';\nexport { default as MockAnalyticsService } from './MockAnalyticsService';\n"],"mappings":"AAAA,SACEA,SAAS,EACTC,qBAAqB,EACrBC,yBAAyB,EACzBC,aAAa,EACbC,cAAc,EACdC,oBAAoB,EACpBC,mBAAmB,EACnBC,qBAAqB,QAChB,aAAa;AACpB,SAASC,OAAO,IAAIC,uBAAuB,QAAQ,2BAA2B;AAC9E,SAASD,OAAO,IAAIE,oBAAoB,QAAQ,wBAAwB","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"interface.js","names":["PropTypes","optionsShape","config","object","isRequired","httpClient","oneOfType","func","loggingService","shape","logError","logInfo","serviceShape","sendTrackingLogEvent","identifyAuthenticatedUser","identifyAnonymousUser","sendTrackEvent","sendPageEvent","service","configure","AnalyticsService","options","checkPropTypes","eventName","properties","userId","traits","category","name","getAnalyticsService","Error","resetAnalyticsService"],"sources":["../../src/analytics/interface.js"],"sourcesContent":["/**\n * #### Import members from **@edx/frontend-platform/analytics**\n *\n * Contains a shared interface for tracking events. Has a default implementation of\n * SegmentAnalyticsService, which supports Segment and the Tracking Log API (hosted in LMS).\n *\n * The `initialize` function performs much of the analytics configuration for you. If, however,\n * you're not using the `initialize` function, analytics can be configured via:\n *\n * ```\n * import { configure, SegmentAnalyticsService } from '@edx/frontend-platform/analytics';\n * import { getConfig } from '@edx/frontend-platform';\n * import { getAuthenticatedHttpClient } from '@edx/frontend-platform/auth';\n * import { getLoggingService } from '@edx/frontend-platform/logging';\n *\n * configure(SegmentAnalyticsService, {\n * config: getConfig(),\n * loggingService: getLoggingService(),\n * httpClient: getAuthenticatedHttpClient(),\n * });\n * ```\n *\n * As shown in this example, analytics depends on the configuration document, logging, and having\n * an authenticated HTTP client.\n *\n * @module Analytics\n */\nimport PropTypes from 'prop-types';\n\nconst optionsShape = {\n config: PropTypes.object.isRequired,\n httpClient: PropTypes.oneOfType([PropTypes.func, PropTypes.object]).isRequired,\n loggingService: PropTypes.shape({\n logError: PropTypes.func.isRequired,\n logInfo: PropTypes.func.isRequired,\n }).isRequired,\n};\n\nconst serviceShape = {\n sendTrackingLogEvent: PropTypes.func.isRequired,\n identifyAuthenticatedUser: PropTypes.func.isRequired,\n identifyAnonymousUser: PropTypes.func.isRequired,\n sendTrackEvent: PropTypes.func.isRequired,\n sendPageEvent: PropTypes.func.isRequired,\n};\n\nlet service;\n\n/**\n *\n * @param {class} AnalyticsService\n * @param {*} options\n * @returns {AnalyticsService}\n */\nexport function configure(AnalyticsService, options) {\n PropTypes.checkPropTypes(optionsShape, options, 'property', 'Analytics');\n service = new AnalyticsService(options);\n PropTypes.checkPropTypes(serviceShape, service, 'property', 'AnalyticsService');\n return service;\n}\n\n/**\n *\n * @param {*} eventName\n * @param {*} properties\n * @returns {Promise}\n */\nexport function sendTrackingLogEvent(eventName, properties) {\n return service.sendTrackingLogEvent(eventName, properties);\n}\n\n/**\n *\n *\n * @param {*} userId\n * @param {*} traits\n */\nexport function identifyAuthenticatedUser(userId, traits) {\n service.identifyAuthenticatedUser(userId, traits);\n}\n\n/**\n *\n *\n * @param {*} traits\n * @returns {Promise}\n */\nexport function identifyAnonymousUser(traits) {\n return service.identifyAnonymousUser(traits);\n}\n\n/**\n *\n *\n * @param {*} eventName\n * @param {*} properties\n */\nexport function sendTrackEvent(eventName, properties) {\n service.sendTrackEvent(eventName, properties);\n}\n\n/**\n *\n *\n * @param {*} category\n * @param {*} name\n * @param {*} properties\n */\nexport function sendPageEvent(category, name, properties) {\n service.sendPageEvent(category, name, properties);\n}\n\n/**\n *\n *\n * @returns {AnalyticsService}\n */\nexport function getAnalyticsService() {\n if (!service) {\n throw Error('You must first configure the analytics service.');\n }\n\n return service;\n}\n\n/**\n *\n */\nexport function resetAnalyticsService() {\n service = null;\n}\n\n/**\n * @name AnalyticsService\n * @interface\n * @memberof module:Analytics\n * @property {function} identifyAnonymousUser\n * @property {function} identifyAuthenticatedUser\n * @property {function} sendPageEvent\n * @property {function} sendTrackEvent\n * @property {function} sendTrackingLogEvent\n */\n"],"mappings":"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"}
1
+ {"version":3,"file":"interface.js","names":["PropTypes","optionsShape","config","object","isRequired","httpClient","oneOfType","func","loggingService","shape","logError","logInfo","serviceShape","sendTrackingLogEvent","identifyAuthenticatedUser","identifyAnonymousUser","sendTrackEvent","sendPageEvent","service","configure","AnalyticsService","options","checkPropTypes","eventName","properties","userId","traits","category","name","getAnalyticsService","Error","resetAnalyticsService"],"sources":["../../src/analytics/interface.js"],"sourcesContent":["/**\n * #### Import members from **@edx/frontend-platform/analytics**\n *\n * Contains a shared interface for tracking events. Has a default implementation of\n * SegmentAnalyticsService, which supports Segment and the Tracking Log API (hosted in LMS).\n *\n * The `initialize` function performs much of the analytics configuration for you. If, however,\n * you're not using the `initialize` function, analytics can be configured via:\n *\n * ```\n * import { configure, SegmentAnalyticsService } from '@edx/frontend-platform/analytics';\n * import { getConfig } from '@edx/frontend-platform';\n * import { getAuthenticatedHttpClient } from '@edx/frontend-platform/auth';\n * import { getLoggingService } from '@edx/frontend-platform/logging';\n *\n * configure(SegmentAnalyticsService, {\n * config: getConfig(),\n * loggingService: getLoggingService(),\n * httpClient: getAuthenticatedHttpClient(),\n * });\n * ```\n *\n * As shown in this example, analytics depends on the configuration document, logging, and having\n * an authenticated HTTP client.\n *\n * @module Analytics\n */\nimport PropTypes from 'prop-types';\n\nconst optionsShape = {\n config: PropTypes.object.isRequired,\n httpClient: PropTypes.oneOfType([PropTypes.func, PropTypes.object]).isRequired,\n loggingService: PropTypes.shape({\n logError: PropTypes.func.isRequired,\n logInfo: PropTypes.func.isRequired,\n }).isRequired,\n};\n\nconst serviceShape = {\n sendTrackingLogEvent: PropTypes.func.isRequired,\n identifyAuthenticatedUser: PropTypes.func.isRequired,\n identifyAnonymousUser: PropTypes.func.isRequired,\n sendTrackEvent: PropTypes.func.isRequired,\n sendPageEvent: PropTypes.func.isRequired,\n};\n\nlet service;\n\n/**\n *\n * @param {class} AnalyticsService\n * @param {*} options\n * @returns {AnalyticsService}\n */\nexport function configure(AnalyticsService, options) {\n PropTypes.checkPropTypes(optionsShape, options, 'property', 'Analytics');\n service = new AnalyticsService(options);\n PropTypes.checkPropTypes(serviceShape, service, 'property', 'AnalyticsService');\n return service;\n}\n\n/**\n *\n * @param {*} eventName\n * @param {*} properties\n * @returns {Promise}\n */\nexport function sendTrackingLogEvent(eventName, properties) {\n return service.sendTrackingLogEvent(eventName, properties);\n}\n\n/**\n *\n *\n * @param {*} userId\n * @param {*} traits\n */\nexport function identifyAuthenticatedUser(userId, traits) {\n service.identifyAuthenticatedUser(userId, traits);\n}\n\n/**\n *\n *\n * @param {*} traits\n * @returns {Promise}\n */\nexport function identifyAnonymousUser(traits) {\n return service.identifyAnonymousUser(traits);\n}\n\n/**\n *\n *\n * @param {*} eventName\n * @param {*} properties\n */\nexport function sendTrackEvent(eventName, properties) {\n service.sendTrackEvent(eventName, properties);\n}\n\n/**\n *\n *\n * @param {*} category\n * @param {*} name\n * @param {*} properties\n */\nexport function sendPageEvent(category, name, properties) {\n service.sendPageEvent(category, name, properties);\n}\n\n/**\n *\n *\n * @returns {AnalyticsService}\n */\nexport function getAnalyticsService() {\n if (!service) {\n throw Error('You must first configure the analytics service.');\n }\n\n return service;\n}\n\n/**\n *\n */\nexport function resetAnalyticsService() {\n service = null;\n}\n\n/**\n * @name AnalyticsService\n * @interface\n * @memberof module:Analytics\n * @property {function} identifyAnonymousUser\n * @property {function} identifyAuthenticatedUser\n * @property {function} sendPageEvent\n * @property {function} sendTrackEvent\n * @property {function} sendTrackingLogEvent\n */\n"],"mappings":"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","ignoreList":[]}
@@ -5,8 +5,8 @@ function _asyncToGenerator(fn) { return function () { var self = this, args = ar
5
5
  function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
6
6
  function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }
7
7
  function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
8
- function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
9
- function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
8
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
9
+ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
10
10
  import axios from 'axios';
11
11
  import { getUrlParts, processAxiosErrorAndThrow } from './utils';
12
12
  var AxiosCsrfTokenService = /*#__PURE__*/function () {
@@ -1 +1 @@
1
- {"version":3,"file":"AxiosCsrfTokenService.js","names":["_regeneratorRuntime","e","t","r","Object","prototype","n","hasOwnProperty","o","defineProperty","value","i","Symbol","a","iterator","c","asyncIterator","u","toStringTag","define","enumerable","configurable","writable","wrap","Generator","create","Context","makeInvokeMethod","tryCatch","type","arg","call","h","l","f","s","y","GeneratorFunction","GeneratorFunctionPrototype","p","d","getPrototypeOf","v","values","g","defineIteratorMethods","forEach","_invoke","AsyncIterator","invoke","_typeof","resolve","__await","then","callInvokeWithMethodAndArg","Error","done","method","delegate","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","TypeError","resultName","next","nextLoc","pushTryEntry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","push","resetTryEntry","completion","reset","isNaN","length","displayName","isGeneratorFunction","constructor","name","mark","setPrototypeOf","__proto__","awrap","async","Promise","keys","reverse","pop","prev","charAt","slice","stop","rval","handle","complete","finish","_catch","delegateYield","asyncGeneratorStep","gen","reject","_next","_throw","key","info","error","_asyncToGenerator","fn","self","args","arguments","apply","err","undefined","_classCallCheck","instance","Constructor","_defineProperties","target","props","descriptor","_toPropertyKey","_createClass","protoProps","staticProps","_toPrimitive","String","input","hint","prim","toPrimitive","res","Number","axios","getUrlParts","processAxiosErrorAndThrow","AxiosCsrfTokenService","csrfTokenApiPath","httpClient","defaults","withCredentials","headers","common","csrfTokenCache","csrfTokenRequestPromises","_getCsrfToken","_callee","url","_this","urlParts","_urlParts","protocol","domain","csrfToken","_callee$","_context","global","location","origin","get","concat","response","data","getCsrfToken","_x","clearCsrfTokenCache","getHttpClient","default"],"sources":["../../src/auth/AxiosCsrfTokenService.js"],"sourcesContent":["import axios from 'axios';\nimport { getUrlParts, processAxiosErrorAndThrow } from './utils';\n\nexport default class AxiosCsrfTokenService {\n constructor(csrfTokenApiPath) {\n this.csrfTokenApiPath = csrfTokenApiPath;\n this.httpClient = axios.create();\n // Set withCredentials to true. Enables cross-site Access-Control requests\n // to be made using cookies, authorization headers or TLS client\n // certificates. More on MDN:\n // https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/withCredentials\n this.httpClient.defaults.withCredentials = true;\n this.httpClient.defaults.headers.common['USE-JWT-COOKIE'] = true;\n\n this.csrfTokenCache = {};\n this.csrfTokenRequestPromises = {};\n }\n\n async getCsrfToken(url) {\n let urlParts;\n try {\n urlParts = getUrlParts(url);\n } catch (e) {\n // If the url is not parsable it's likely because a relative\n // path was supplied as the url. This is acceptable and in\n // this case we should use the current origin of the page.\n urlParts = getUrlParts(global.location.origin);\n }\n\n const { protocol, domain } = urlParts;\n const csrfToken = this.csrfTokenCache[domain];\n\n if (csrfToken) {\n return csrfToken;\n }\n\n if (!this.csrfTokenRequestPromises[domain]) {\n this.csrfTokenRequestPromises[domain] = this.httpClient\n .get(`${protocol}://${domain}${this.csrfTokenApiPath}`)\n .then((response) => {\n this.csrfTokenCache[domain] = response.data.csrfToken;\n return this.csrfTokenCache[domain];\n })\n .catch(processAxiosErrorAndThrow)\n .finally(() => {\n delete this.csrfTokenRequestPromises[domain];\n });\n }\n\n return this.csrfTokenRequestPromises[domain];\n }\n\n clearCsrfTokenCache() {\n this.csrfTokenCache = {};\n }\n\n getHttpClient() {\n return this.httpClient;\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"AxiosCsrfTokenService.js","names":["_regeneratorRuntime","e","t","r","Object","prototype","n","hasOwnProperty","o","defineProperty","value","i","Symbol","a","iterator","c","asyncIterator","u","toStringTag","define","enumerable","configurable","writable","wrap","Generator","create","Context","makeInvokeMethod","tryCatch","type","arg","call","h","l","f","s","y","GeneratorFunction","GeneratorFunctionPrototype","p","d","getPrototypeOf","v","values","g","defineIteratorMethods","forEach","_invoke","AsyncIterator","invoke","_typeof","resolve","__await","then","callInvokeWithMethodAndArg","Error","done","method","delegate","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","TypeError","resultName","next","nextLoc","pushTryEntry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","push","resetTryEntry","completion","reset","isNaN","length","displayName","isGeneratorFunction","constructor","name","mark","setPrototypeOf","__proto__","awrap","async","Promise","keys","reverse","pop","prev","charAt","slice","stop","rval","handle","complete","finish","_catch","delegateYield","asyncGeneratorStep","gen","reject","_next","_throw","key","info","error","_asyncToGenerator","fn","self","args","arguments","apply","err","undefined","_classCallCheck","instance","Constructor","_defineProperties","target","props","descriptor","_toPropertyKey","_createClass","protoProps","staticProps","_toPrimitive","String","toPrimitive","Number","axios","getUrlParts","processAxiosErrorAndThrow","AxiosCsrfTokenService","csrfTokenApiPath","httpClient","defaults","withCredentials","headers","common","csrfTokenCache","csrfTokenRequestPromises","_getCsrfToken","_callee","url","_this","urlParts","_urlParts","protocol","domain","csrfToken","_callee$","_context","global","location","origin","get","concat","response","data","getCsrfToken","_x","clearCsrfTokenCache","getHttpClient","default"],"sources":["../../src/auth/AxiosCsrfTokenService.js"],"sourcesContent":["import axios from 'axios';\nimport { getUrlParts, processAxiosErrorAndThrow } from './utils';\n\nexport default class AxiosCsrfTokenService {\n constructor(csrfTokenApiPath) {\n this.csrfTokenApiPath = csrfTokenApiPath;\n this.httpClient = axios.create();\n // Set withCredentials to true. Enables cross-site Access-Control requests\n // to be made using cookies, authorization headers or TLS client\n // certificates. More on MDN:\n // https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/withCredentials\n this.httpClient.defaults.withCredentials = true;\n this.httpClient.defaults.headers.common['USE-JWT-COOKIE'] = true;\n\n this.csrfTokenCache = {};\n this.csrfTokenRequestPromises = {};\n }\n\n async getCsrfToken(url) {\n let urlParts;\n try {\n urlParts = getUrlParts(url);\n } catch (e) {\n // If the url is not parsable it's likely because a relative\n // path was supplied as the url. This is acceptable and in\n // this case we should use the current origin of the page.\n urlParts = getUrlParts(global.location.origin);\n }\n\n const { protocol, domain } = urlParts;\n const csrfToken = this.csrfTokenCache[domain];\n\n if (csrfToken) {\n return csrfToken;\n }\n\n if (!this.csrfTokenRequestPromises[domain]) {\n this.csrfTokenRequestPromises[domain] = this.httpClient\n .get(`${protocol}://${domain}${this.csrfTokenApiPath}`)\n .then((response) => {\n this.csrfTokenCache[domain] = response.data.csrfToken;\n return this.csrfTokenCache[domain];\n })\n .catch(processAxiosErrorAndThrow)\n .finally(() => {\n delete this.csrfTokenRequestPromises[domain];\n });\n }\n\n return this.csrfTokenRequestPromises[domain];\n }\n\n clearCsrfTokenCache() {\n this.csrfTokenCache = {};\n }\n\n getHttpClient() {\n return this.httpClient;\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -8,8 +8,8 @@ function _asyncToGenerator(fn) { return function () { var self = this, args = ar
8
8
  function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
9
9
  function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }
10
10
  function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
11
- function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
12
- function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
11
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
12
+ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
13
13
  import axios from 'axios';
14
14
  import PropTypes from 'prop-types';
15
15
  import { logFrontendAuthError } from './utils';
@@ -255,7 +255,7 @@ var AxiosJwtAuthService = /*#__PURE__*/function () {
255
255
  */
256
256
  }, {
257
257
  key: "fetchAuthenticatedUser",
258
- value: function () {
258
+ value: (function () {
259
259
  var _fetchAuthenticatedUser = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
260
260
  var options,
261
261
  decodedAccessToken,
@@ -305,9 +305,10 @@ var AxiosJwtAuthService = /*#__PURE__*/function () {
305
305
  * authenticated.
306
306
  * @returns {Promise<UserData>}
307
307
  */
308
+ )
308
309
  }, {
309
310
  key: "ensureAuthenticatedUser",
310
- value: function () {
311
+ value: (function () {
311
312
  var _ensureAuthenticatedUser = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2() {
312
313
  var redirectUrl,
313
314
  isRedirectFromLoginPage,
@@ -365,9 +366,10 @@ var AxiosJwtAuthService = /*#__PURE__*/function () {
365
366
  *
366
367
  * @returns {Promise<null>}
367
368
  */
369
+ )
368
370
  }, {
369
371
  key: "hydrateAuthenticatedUser",
370
- value: function () {
372
+ value: (function () {
371
373
  var _hydrateAuthenticatedUser = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee3() {
372
374
  var user, response;
373
375
  return _regeneratorRuntime().wrap(function _callee3$(_context3) {
@@ -404,6 +406,7 @@ var AxiosJwtAuthService = /*#__PURE__*/function () {
404
406
  * @param {string} [config.CSRF_TOKEN_API_PATH]
405
407
  * @returns {HttpClient} A configured Axios HTTP client.
406
408
  */
409
+ )
407
410
  }, {
408
411
  key: "addAuthenticationToHttpClient",
409
412
  value: function addAuthenticationToHttpClient(newHttpClient) {
@@ -1 +1 @@
1
- {"version":3,"file":"AxiosJwtAuthService.js","names":["_regeneratorRuntime","e","t","r","Object","prototype","n","hasOwnProperty","o","defineProperty","value","i","Symbol","a","iterator","c","asyncIterator","u","toStringTag","define","enumerable","configurable","writable","wrap","Generator","create","Context","makeInvokeMethod","tryCatch","type","arg","call","h","l","f","s","y","GeneratorFunction","GeneratorFunctionPrototype","p","d","getPrototypeOf","v","values","g","defineIteratorMethods","forEach","_invoke","AsyncIterator","invoke","_typeof","resolve","__await","then","callInvokeWithMethodAndArg","Error","done","method","delegate","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","TypeError","resultName","next","nextLoc","pushTryEntry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","push","resetTryEntry","completion","reset","isNaN","length","displayName","isGeneratorFunction","constructor","name","mark","setPrototypeOf","__proto__","awrap","async","Promise","keys","reverse","pop","prev","charAt","slice","stop","rval","handle","complete","finish","_catch","delegateYield","asyncGeneratorStep","gen","reject","_next","_throw","key","info","error","_asyncToGenerator","fn","self","args","arguments","apply","err","undefined","_classCallCheck","instance","Constructor","_defineProperties","target","props","descriptor","_toPropertyKey","_createClass","protoProps","staticProps","_toPrimitive","String","input","hint","prim","toPrimitive","res","Number","axios","PropTypes","logFrontendAuthError","camelCaseObject","ensureDefinedConfig","createJwtTokenProviderInterceptor","createCsrfTokenProviderInterceptor","createProcessAxiosRequestErrorInterceptor","AxiosJwtTokenService","AxiosCsrfTokenService","configureCache","optionsPropTypes","config","shape","BASE_URL","string","isRequired","LMS_BASE_URL","LOGIN_URL","LOGOUT_URL","REFRESH_ACCESS_TOKEN_ENDPOINT","ACCESS_TOKEN_COOKIE_NAME","CSRF_TOKEN_API_PATH","loggingService","logError","func","logInfo","AxiosJwtAuthService","options","_this","authenticatedHttpClient","httpClient","cachedAuthenticatedHttpClient","cachedHttpClient","authenticatedUser","checkPropTypes","jwtTokenService","csrfTokenService","addAuthenticationToHttpClient","cachedAxiosClient","concat","message","middleware","applyMiddleware","clients","middlewareFn","client","getAuthenticatedHttpClient","useCache","getHttpClient","getJwtTokenService","getCsrfTokenService","getLoginRedirectUrl","redirectUrl","encodeURIComponent","redirectToLogin","global","location","assign","getLogoutRedirectUrl","redirectToLogout","getAuthenticatedUser","setAuthenticatedUser","authUser","_fetchAuthenticatedUser","_callee","decodedAccessToken","_args","_callee$","_context","getJwtToken","forceRefresh","email","userId","user_id","username","preferred_username","roles","administrator","setCustomAttribute","fetchAuthenticatedUser","_ensureAuthenticatedUser","_callee2","isRedirectFromLoginPage","redirectLoopError","unauthorizedError","_args2","_callee2$","_context2","document","referrer","startsWith","isRedirecting","ensureAuthenticatedUser","_hydrateAuthenticatedUser","_callee3","user","response","_callee3$","_context3","get","_objectSpread","data","hydrateAuthenticatedUser","newHttpClient","defaults","withCredentials","refreshAccessTokenInterceptor","shouldSkip","axiosRequestConfig","isPublic","attachCsrfTokenInterceptor","isCsrfExempt","CSRF_PROTECTED_METHODS","includes","processAxiosRequestErrorInterceptor","interceptors","request","use"],"sources":["../../src/auth/AxiosJwtAuthService.js"],"sourcesContent":["import axios from 'axios';\nimport PropTypes from 'prop-types';\nimport { logFrontendAuthError } from './utils';\nimport { camelCaseObject, ensureDefinedConfig } from '../utils';\nimport createJwtTokenProviderInterceptor from './interceptors/createJwtTokenProviderInterceptor';\nimport createCsrfTokenProviderInterceptor from './interceptors/createCsrfTokenProviderInterceptor';\nimport createProcessAxiosRequestErrorInterceptor from './interceptors/createProcessAxiosRequestErrorInterceptor';\nimport AxiosJwtTokenService from './AxiosJwtTokenService';\nimport AxiosCsrfTokenService from './AxiosCsrfTokenService';\nimport configureCache from './LocalForageCache';\n\nconst optionsPropTypes = {\n config: PropTypes.shape({\n BASE_URL: PropTypes.string.isRequired,\n LMS_BASE_URL: PropTypes.string.isRequired,\n LOGIN_URL: PropTypes.string.isRequired,\n LOGOUT_URL: PropTypes.string.isRequired,\n REFRESH_ACCESS_TOKEN_ENDPOINT: PropTypes.string.isRequired,\n ACCESS_TOKEN_COOKIE_NAME: PropTypes.string.isRequired,\n CSRF_TOKEN_API_PATH: PropTypes.string.isRequired,\n }).isRequired,\n loggingService: PropTypes.shape({\n logError: PropTypes.func.isRequired,\n logInfo: PropTypes.func.isRequired,\n }).isRequired,\n};\n\n/**\n * @implements {AuthService}\n * @memberof module:Auth\n */\nclass AxiosJwtAuthService {\n /**\n * @param {Object} options\n * @param {Object} options.config\n * @param {string} options.config.BASE_URL\n * @param {string} options.config.LMS_BASE_URL\n * @param {string} options.config.LOGIN_URL\n * @param {string} options.config.LOGOUT_URL\n * @param {string} options.config.REFRESH_ACCESS_TOKEN_ENDPOINT\n * @param {string} options.config.ACCESS_TOKEN_COOKIE_NAME\n * @param {string} options.config.CSRF_TOKEN_API_PATH\n * @param {Object} options.loggingService requires logError and logInfo methods\n */\n constructor(options) {\n this.authenticatedHttpClient = null;\n this.httpClient = null;\n this.cachedAuthenticatedHttpClient = null;\n this.cachedHttpClient = null;\n this.authenticatedUser = null;\n\n ensureDefinedConfig(options, 'AuthService');\n PropTypes.checkPropTypes(optionsPropTypes, options, 'options', 'AuthService');\n\n this.config = options.config;\n this.loggingService = options.loggingService;\n this.jwtTokenService = new AxiosJwtTokenService(\n this.loggingService,\n this.config.ACCESS_TOKEN_COOKIE_NAME,\n this.config.REFRESH_ACCESS_TOKEN_ENDPOINT,\n );\n this.csrfTokenService = new AxiosCsrfTokenService(this.config.CSRF_TOKEN_API_PATH);\n this.authenticatedHttpClient = this.addAuthenticationToHttpClient(axios.create());\n this.httpClient = axios.create();\n configureCache()\n .then((cachedAxiosClient) => {\n this.cachedAuthenticatedHttpClient = this.addAuthenticationToHttpClient(cachedAxiosClient);\n this.cachedHttpClient = cachedAxiosClient;\n })\n .catch((e) => {\n // fallback to non-cached HTTP clients and log error\n this.cachedAuthenticatedHttpClient = this.authenticatedHttpClient;\n this.cachedHttpClient = this.httpClient;\n logFrontendAuthError(this.loggingService, `configureCache failed with error: ${e.message}`);\n }).finally(() => {\n this.middleware = options.middleware;\n this.applyMiddleware(options.middleware);\n });\n }\n\n /**\n * Applies middleware to the axios instances in this service.\n *\n * @param {Array} middleware Middleware to apply.\n */\n applyMiddleware(middleware = []) {\n const clients = [\n this.authenticatedHttpClient, this.httpClient,\n this.cachedAuthenticatedHttpClient, this.cachedHttpClient,\n ];\n try {\n (middleware).forEach((middlewareFn) => {\n clients.forEach((client) => client && middlewareFn(client));\n });\n } catch (error) {\n logFrontendAuthError(this.loggingService, error);\n throw error;\n }\n }\n\n /**\n * Gets the authenticated HTTP client for the service. This is an axios instance.\n *\n * @param {Object} [options] Optional options for how the HTTP client should be configured.\n * @param {boolean} [options.useCache] Whether to use front end caching for all requests made\n * with the returned client.\n *\n * @returns {HttpClient} A configured axios http client which can be used for authenticated\n * requests.\n */\n getAuthenticatedHttpClient(options = {}) {\n if (options.useCache) {\n return this.cachedAuthenticatedHttpClient;\n }\n\n return this.authenticatedHttpClient;\n }\n\n /**\n * Gets the unauthenticated HTTP client for the service. This is an axios instance.\n *\n * @param {Object} [options] Optional options for how the HTTP client should be configured.\n * @param {boolean} [options.useCache] Whether to use front end caching for all requests made\n * with the returned client.\n * @returns {HttpClient} A configured axios http client.\n */\n getHttpClient(options = {}) {\n if (options.useCache) {\n return this.cachedHttpClient;\n }\n\n return this.httpClient;\n }\n\n /**\n * Used primarily for testing.\n *\n * @ignore\n */\n getJwtTokenService() {\n return this.jwtTokenService;\n }\n\n /**\n * Used primarily for testing.\n *\n * @ignore\n */\n getCsrfTokenService() {\n return this.csrfTokenService;\n }\n\n /**\n * Builds a URL to the login page with a post-login redirect URL attached as a query parameter.\n *\n * ```\n * const url = getLoginRedirectUrl('http://localhost/mypage');\n * console.log(url); // http://localhost/login?next=http%3A%2F%2Flocalhost%2Fmypage\n * ```\n *\n * @param {string} redirectUrl The URL the user should be redirected to after logging in.\n */\n getLoginRedirectUrl(redirectUrl = this.config.BASE_URL) {\n return `${this.config.LOGIN_URL}?next=${encodeURIComponent(redirectUrl)}`;\n }\n\n /**\n * Redirects the user to the login page.\n *\n * @param {string} redirectUrl The URL the user should be redirected to after logging in.\n */\n redirectToLogin(redirectUrl = this.config.BASE_URL) {\n global.location.assign(this.getLoginRedirectUrl(redirectUrl));\n }\n\n /**\n * Builds a URL to the logout page with a post-logout redirect URL attached as a query parameter.\n *\n * ```\n * const url = getLogoutRedirectUrl('http://localhost/mypage');\n * console.log(url); // http://localhost/logout?next=http%3A%2F%2Flocalhost%2Fmypage\n * ```\n *\n * @param {string} redirectUrl The URL the user should be redirected to after logging out.\n */\n getLogoutRedirectUrl(redirectUrl = this.config.BASE_URL) {\n return `${this.config.LOGOUT_URL}?redirect_url=${encodeURIComponent(redirectUrl)}`;\n }\n\n /**\n * Redirects the user to the logout page.\n *\n * @param {string} redirectUrl The URL the user should be redirected to after logging out.\n */\n redirectToLogout(redirectUrl = this.config.BASE_URL) {\n global.location.assign(this.getLogoutRedirectUrl(redirectUrl));\n }\n\n /**\n * If it exists, returns the user data representing the currently authenticated user. If the\n * user is anonymous, returns null.\n *\n * @returns {UserData|null}\n */\n getAuthenticatedUser() {\n return this.authenticatedUser;\n }\n\n /**\n * Sets the authenticated user to the provided value.\n *\n * @param {UserData} authUser\n */\n setAuthenticatedUser(authUser) {\n this.authenticatedUser = authUser;\n }\n\n /**\n * Reads the authenticated user's access token. Resolves to null if the user is\n * unauthenticated.\n *\n * @returns {Promise<UserData>|Promise<null>} Resolves to the user's access token if they are\n * logged in.\n */\n async fetchAuthenticatedUser(options = {}) {\n const decodedAccessToken = await this.jwtTokenService.getJwtToken(options.forceRefresh || false);\n\n if (decodedAccessToken !== null) {\n this.setAuthenticatedUser({\n email: decodedAccessToken.email,\n userId: decodedAccessToken.user_id,\n username: decodedAccessToken.preferred_username,\n roles: decodedAccessToken.roles || [],\n administrator: decodedAccessToken.administrator,\n name: decodedAccessToken.name,\n });\n // Sets userId as a custom attribute that will be included with all subsequent log messages.\n // Very helpful for debugging.\n this.loggingService.setCustomAttribute('userId', decodedAccessToken.user_id);\n } else {\n this.setAuthenticatedUser(null);\n // Intentionally not setting `userId` in the logging service here because it would be useful\n // to know the previously logged in user for debugging refresh issues.\n }\n\n return this.getAuthenticatedUser();\n }\n\n /**\n * Ensures a user is authenticated. It will redirect to login when not\n * authenticated.\n *\n * @param {string} [redirectUrl=config.BASE_URL] to return user after login when not\n * authenticated.\n * @returns {Promise<UserData>}\n */\n async ensureAuthenticatedUser(redirectUrl = this.config.BASE_URL) {\n await this.fetchAuthenticatedUser();\n\n if (this.getAuthenticatedUser() === null) {\n const isRedirectFromLoginPage = global.document.referrer\n && global.document.referrer.startsWith(this.config.LOGIN_URL);\n\n if (isRedirectFromLoginPage) {\n const redirectLoopError = new Error('Redirect from login page. Rejecting to avoid infinite redirect loop.');\n logFrontendAuthError(this.loggingService, redirectLoopError);\n throw redirectLoopError;\n }\n\n // The user is not authenticated, send them to the login page.\n this.redirectToLogin(redirectUrl);\n\n const unauthorizedError = new Error('Failed to ensure the user is authenticated');\n unauthorizedError.isRedirecting = true;\n throw unauthorizedError;\n }\n\n return this.getAuthenticatedUser();\n }\n\n /**\n * Fetches additional user account information for the authenticated user and merges it into the\n * existing authenticatedUser object, available via getAuthenticatedUser().\n *\n * ```\n * console.log(authenticatedUser); // Will be sparse and only contain basic information.\n * await hydrateAuthenticatedUser()\n * const authenticatedUser = getAuthenticatedUser();\n * console.log(authenticatedUser); // Will contain additional user information\n * ```\n *\n * @returns {Promise<null>}\n */\n async hydrateAuthenticatedUser() {\n const user = this.getAuthenticatedUser();\n if (user !== null) {\n const response = await this.authenticatedHttpClient\n .get(`${this.config.LMS_BASE_URL}/api/user/v1/accounts/${user.username}`);\n this.setAuthenticatedUser({ ...user, ...camelCaseObject(response.data) });\n }\n }\n\n /**\n * Adds authentication defaults and interceptors to an HTTP client instance.\n *\n * @param {HttpClient} newHttpClient\n * @param {Object} config\n * @param {string} [config.REFRESH_ACCESS_TOKEN_ENDPOINT]\n * @param {string} [config.ACCESS_TOKEN_COOKIE_NAME]\n * @param {string} [config.CSRF_TOKEN_API_PATH]\n * @returns {HttpClient} A configured Axios HTTP client.\n */\n addAuthenticationToHttpClient(newHttpClient) {\n const httpClient = Object.create(newHttpClient);\n // Set withCredentials to true. Enables cross-site Access-Control requests\n // to be made using cookies, authorization headers or TLS client\n // certificates. More on MDN:\n // https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/withCredentials\n httpClient.defaults.withCredentials = true;\n\n // Axios interceptors\n\n // The JWT access token interceptor attempts to refresh the user's jwt token\n // before any request unless the isPublic flag is set on the request config.\n const refreshAccessTokenInterceptor = createJwtTokenProviderInterceptor({\n jwtTokenService: this.jwtTokenService,\n shouldSkip: axiosRequestConfig => axiosRequestConfig.isPublic,\n });\n // The CSRF token intercepter fetches and caches a csrf token for any post,\n // put, patch, or delete request. That token is then added to the request\n // headers.\n const attachCsrfTokenInterceptor = createCsrfTokenProviderInterceptor({\n csrfTokenService: this.csrfTokenService,\n CSRF_TOKEN_API_PATH: this.config.CSRF_TOKEN_API_PATH,\n shouldSkip: (axiosRequestConfig) => {\n const { method, isCsrfExempt } = axiosRequestConfig;\n const CSRF_PROTECTED_METHODS = ['post', 'put', 'patch', 'delete'];\n return isCsrfExempt || !CSRF_PROTECTED_METHODS.includes(method);\n },\n });\n\n const processAxiosRequestErrorInterceptor = createProcessAxiosRequestErrorInterceptor({\n loggingService: this.loggingService,\n });\n\n // Request interceptors: Axios runs the interceptors in reverse order from\n // how they are listed. After fetching csrf tokens no longer require jwt\n // authentication, it won't matter which happens first. This change is\n // coming soon in edx-platform. Nov. 2019\n httpClient.interceptors.request.use(attachCsrfTokenInterceptor);\n httpClient.interceptors.request.use(refreshAccessTokenInterceptor);\n\n // Response interceptor: moves axios response error data into the error\n // object at error.customAttributes\n httpClient.interceptors.response.use(\n response => response,\n processAxiosRequestErrorInterceptor,\n );\n\n return httpClient;\n }\n}\n\nexport default AxiosJwtAuthService;\n"],"mappings":"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"}
1
+ {"version":3,"file":"AxiosJwtAuthService.js","names":["_regeneratorRuntime","e","t","r","Object","prototype","n","hasOwnProperty","o","defineProperty","value","i","Symbol","a","iterator","c","asyncIterator","u","toStringTag","define","enumerable","configurable","writable","wrap","Generator","create","Context","makeInvokeMethod","tryCatch","type","arg","call","h","l","f","s","y","GeneratorFunction","GeneratorFunctionPrototype","p","d","getPrototypeOf","v","values","g","defineIteratorMethods","forEach","_invoke","AsyncIterator","invoke","_typeof","resolve","__await","then","callInvokeWithMethodAndArg","Error","done","method","delegate","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","TypeError","resultName","next","nextLoc","pushTryEntry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","push","resetTryEntry","completion","reset","isNaN","length","displayName","isGeneratorFunction","constructor","name","mark","setPrototypeOf","__proto__","awrap","async","Promise","keys","reverse","pop","prev","charAt","slice","stop","rval","handle","complete","finish","_catch","delegateYield","asyncGeneratorStep","gen","reject","_next","_throw","key","info","error","_asyncToGenerator","fn","self","args","arguments","apply","err","undefined","_classCallCheck","instance","Constructor","_defineProperties","target","props","descriptor","_toPropertyKey","_createClass","protoProps","staticProps","_toPrimitive","String","toPrimitive","Number","axios","PropTypes","logFrontendAuthError","camelCaseObject","ensureDefinedConfig","createJwtTokenProviderInterceptor","createCsrfTokenProviderInterceptor","createProcessAxiosRequestErrorInterceptor","AxiosJwtTokenService","AxiosCsrfTokenService","configureCache","optionsPropTypes","config","shape","BASE_URL","string","isRequired","LMS_BASE_URL","LOGIN_URL","LOGOUT_URL","REFRESH_ACCESS_TOKEN_ENDPOINT","ACCESS_TOKEN_COOKIE_NAME","CSRF_TOKEN_API_PATH","loggingService","logError","func","logInfo","AxiosJwtAuthService","options","_this","authenticatedHttpClient","httpClient","cachedAuthenticatedHttpClient","cachedHttpClient","authenticatedUser","checkPropTypes","jwtTokenService","csrfTokenService","addAuthenticationToHttpClient","cachedAxiosClient","concat","message","middleware","applyMiddleware","clients","middlewareFn","client","getAuthenticatedHttpClient","useCache","getHttpClient","getJwtTokenService","getCsrfTokenService","getLoginRedirectUrl","redirectUrl","encodeURIComponent","redirectToLogin","global","location","assign","getLogoutRedirectUrl","redirectToLogout","getAuthenticatedUser","setAuthenticatedUser","authUser","_fetchAuthenticatedUser","_callee","decodedAccessToken","_args","_callee$","_context","getJwtToken","forceRefresh","email","userId","user_id","username","preferred_username","roles","administrator","setCustomAttribute","fetchAuthenticatedUser","_ensureAuthenticatedUser","_callee2","isRedirectFromLoginPage","redirectLoopError","unauthorizedError","_args2","_callee2$","_context2","document","referrer","startsWith","isRedirecting","ensureAuthenticatedUser","_hydrateAuthenticatedUser","_callee3","user","response","_callee3$","_context3","get","_objectSpread","data","hydrateAuthenticatedUser","newHttpClient","defaults","withCredentials","refreshAccessTokenInterceptor","shouldSkip","axiosRequestConfig","isPublic","attachCsrfTokenInterceptor","isCsrfExempt","CSRF_PROTECTED_METHODS","includes","processAxiosRequestErrorInterceptor","interceptors","request","use"],"sources":["../../src/auth/AxiosJwtAuthService.js"],"sourcesContent":["import axios from 'axios';\nimport PropTypes from 'prop-types';\nimport { logFrontendAuthError } from './utils';\nimport { camelCaseObject, ensureDefinedConfig } from '../utils';\nimport createJwtTokenProviderInterceptor from './interceptors/createJwtTokenProviderInterceptor';\nimport createCsrfTokenProviderInterceptor from './interceptors/createCsrfTokenProviderInterceptor';\nimport createProcessAxiosRequestErrorInterceptor from './interceptors/createProcessAxiosRequestErrorInterceptor';\nimport AxiosJwtTokenService from './AxiosJwtTokenService';\nimport AxiosCsrfTokenService from './AxiosCsrfTokenService';\nimport configureCache from './LocalForageCache';\n\nconst optionsPropTypes = {\n config: PropTypes.shape({\n BASE_URL: PropTypes.string.isRequired,\n LMS_BASE_URL: PropTypes.string.isRequired,\n LOGIN_URL: PropTypes.string.isRequired,\n LOGOUT_URL: PropTypes.string.isRequired,\n REFRESH_ACCESS_TOKEN_ENDPOINT: PropTypes.string.isRequired,\n ACCESS_TOKEN_COOKIE_NAME: PropTypes.string.isRequired,\n CSRF_TOKEN_API_PATH: PropTypes.string.isRequired,\n }).isRequired,\n loggingService: PropTypes.shape({\n logError: PropTypes.func.isRequired,\n logInfo: PropTypes.func.isRequired,\n }).isRequired,\n};\n\n/**\n * @implements {AuthService}\n * @memberof module:Auth\n */\nclass AxiosJwtAuthService {\n /**\n * @param {Object} options\n * @param {Object} options.config\n * @param {string} options.config.BASE_URL\n * @param {string} options.config.LMS_BASE_URL\n * @param {string} options.config.LOGIN_URL\n * @param {string} options.config.LOGOUT_URL\n * @param {string} options.config.REFRESH_ACCESS_TOKEN_ENDPOINT\n * @param {string} options.config.ACCESS_TOKEN_COOKIE_NAME\n * @param {string} options.config.CSRF_TOKEN_API_PATH\n * @param {Object} options.loggingService requires logError and logInfo methods\n */\n constructor(options) {\n this.authenticatedHttpClient = null;\n this.httpClient = null;\n this.cachedAuthenticatedHttpClient = null;\n this.cachedHttpClient = null;\n this.authenticatedUser = null;\n\n ensureDefinedConfig(options, 'AuthService');\n PropTypes.checkPropTypes(optionsPropTypes, options, 'options', 'AuthService');\n\n this.config = options.config;\n this.loggingService = options.loggingService;\n this.jwtTokenService = new AxiosJwtTokenService(\n this.loggingService,\n this.config.ACCESS_TOKEN_COOKIE_NAME,\n this.config.REFRESH_ACCESS_TOKEN_ENDPOINT,\n );\n this.csrfTokenService = new AxiosCsrfTokenService(this.config.CSRF_TOKEN_API_PATH);\n this.authenticatedHttpClient = this.addAuthenticationToHttpClient(axios.create());\n this.httpClient = axios.create();\n configureCache()\n .then((cachedAxiosClient) => {\n this.cachedAuthenticatedHttpClient = this.addAuthenticationToHttpClient(cachedAxiosClient);\n this.cachedHttpClient = cachedAxiosClient;\n })\n .catch((e) => {\n // fallback to non-cached HTTP clients and log error\n this.cachedAuthenticatedHttpClient = this.authenticatedHttpClient;\n this.cachedHttpClient = this.httpClient;\n logFrontendAuthError(this.loggingService, `configureCache failed with error: ${e.message}`);\n }).finally(() => {\n this.middleware = options.middleware;\n this.applyMiddleware(options.middleware);\n });\n }\n\n /**\n * Applies middleware to the axios instances in this service.\n *\n * @param {Array} middleware Middleware to apply.\n */\n applyMiddleware(middleware = []) {\n const clients = [\n this.authenticatedHttpClient, this.httpClient,\n this.cachedAuthenticatedHttpClient, this.cachedHttpClient,\n ];\n try {\n (middleware).forEach((middlewareFn) => {\n clients.forEach((client) => client && middlewareFn(client));\n });\n } catch (error) {\n logFrontendAuthError(this.loggingService, error);\n throw error;\n }\n }\n\n /**\n * Gets the authenticated HTTP client for the service. This is an axios instance.\n *\n * @param {Object} [options] Optional options for how the HTTP client should be configured.\n * @param {boolean} [options.useCache] Whether to use front end caching for all requests made\n * with the returned client.\n *\n * @returns {HttpClient} A configured axios http client which can be used for authenticated\n * requests.\n */\n getAuthenticatedHttpClient(options = {}) {\n if (options.useCache) {\n return this.cachedAuthenticatedHttpClient;\n }\n\n return this.authenticatedHttpClient;\n }\n\n /**\n * Gets the unauthenticated HTTP client for the service. This is an axios instance.\n *\n * @param {Object} [options] Optional options for how the HTTP client should be configured.\n * @param {boolean} [options.useCache] Whether to use front end caching for all requests made\n * with the returned client.\n * @returns {HttpClient} A configured axios http client.\n */\n getHttpClient(options = {}) {\n if (options.useCache) {\n return this.cachedHttpClient;\n }\n\n return this.httpClient;\n }\n\n /**\n * Used primarily for testing.\n *\n * @ignore\n */\n getJwtTokenService() {\n return this.jwtTokenService;\n }\n\n /**\n * Used primarily for testing.\n *\n * @ignore\n */\n getCsrfTokenService() {\n return this.csrfTokenService;\n }\n\n /**\n * Builds a URL to the login page with a post-login redirect URL attached as a query parameter.\n *\n * ```\n * const url = getLoginRedirectUrl('http://localhost/mypage');\n * console.log(url); // http://localhost/login?next=http%3A%2F%2Flocalhost%2Fmypage\n * ```\n *\n * @param {string} redirectUrl The URL the user should be redirected to after logging in.\n */\n getLoginRedirectUrl(redirectUrl = this.config.BASE_URL) {\n return `${this.config.LOGIN_URL}?next=${encodeURIComponent(redirectUrl)}`;\n }\n\n /**\n * Redirects the user to the login page.\n *\n * @param {string} redirectUrl The URL the user should be redirected to after logging in.\n */\n redirectToLogin(redirectUrl = this.config.BASE_URL) {\n global.location.assign(this.getLoginRedirectUrl(redirectUrl));\n }\n\n /**\n * Builds a URL to the logout page with a post-logout redirect URL attached as a query parameter.\n *\n * ```\n * const url = getLogoutRedirectUrl('http://localhost/mypage');\n * console.log(url); // http://localhost/logout?next=http%3A%2F%2Flocalhost%2Fmypage\n * ```\n *\n * @param {string} redirectUrl The URL the user should be redirected to after logging out.\n */\n getLogoutRedirectUrl(redirectUrl = this.config.BASE_URL) {\n return `${this.config.LOGOUT_URL}?redirect_url=${encodeURIComponent(redirectUrl)}`;\n }\n\n /**\n * Redirects the user to the logout page.\n *\n * @param {string} redirectUrl The URL the user should be redirected to after logging out.\n */\n redirectToLogout(redirectUrl = this.config.BASE_URL) {\n global.location.assign(this.getLogoutRedirectUrl(redirectUrl));\n }\n\n /**\n * If it exists, returns the user data representing the currently authenticated user. If the\n * user is anonymous, returns null.\n *\n * @returns {UserData|null}\n */\n getAuthenticatedUser() {\n return this.authenticatedUser;\n }\n\n /**\n * Sets the authenticated user to the provided value.\n *\n * @param {UserData} authUser\n */\n setAuthenticatedUser(authUser) {\n this.authenticatedUser = authUser;\n }\n\n /**\n * Reads the authenticated user's access token. Resolves to null if the user is\n * unauthenticated.\n *\n * @returns {Promise<UserData>|Promise<null>} Resolves to the user's access token if they are\n * logged in.\n */\n async fetchAuthenticatedUser(options = {}) {\n const decodedAccessToken = await this.jwtTokenService.getJwtToken(options.forceRefresh || false);\n\n if (decodedAccessToken !== null) {\n this.setAuthenticatedUser({\n email: decodedAccessToken.email,\n userId: decodedAccessToken.user_id,\n username: decodedAccessToken.preferred_username,\n roles: decodedAccessToken.roles || [],\n administrator: decodedAccessToken.administrator,\n name: decodedAccessToken.name,\n });\n // Sets userId as a custom attribute that will be included with all subsequent log messages.\n // Very helpful for debugging.\n this.loggingService.setCustomAttribute('userId', decodedAccessToken.user_id);\n } else {\n this.setAuthenticatedUser(null);\n // Intentionally not setting `userId` in the logging service here because it would be useful\n // to know the previously logged in user for debugging refresh issues.\n }\n\n return this.getAuthenticatedUser();\n }\n\n /**\n * Ensures a user is authenticated. It will redirect to login when not\n * authenticated.\n *\n * @param {string} [redirectUrl=config.BASE_URL] to return user after login when not\n * authenticated.\n * @returns {Promise<UserData>}\n */\n async ensureAuthenticatedUser(redirectUrl = this.config.BASE_URL) {\n await this.fetchAuthenticatedUser();\n\n if (this.getAuthenticatedUser() === null) {\n const isRedirectFromLoginPage = global.document.referrer\n && global.document.referrer.startsWith(this.config.LOGIN_URL);\n\n if (isRedirectFromLoginPage) {\n const redirectLoopError = new Error('Redirect from login page. Rejecting to avoid infinite redirect loop.');\n logFrontendAuthError(this.loggingService, redirectLoopError);\n throw redirectLoopError;\n }\n\n // The user is not authenticated, send them to the login page.\n this.redirectToLogin(redirectUrl);\n\n const unauthorizedError = new Error('Failed to ensure the user is authenticated');\n unauthorizedError.isRedirecting = true;\n throw unauthorizedError;\n }\n\n return this.getAuthenticatedUser();\n }\n\n /**\n * Fetches additional user account information for the authenticated user and merges it into the\n * existing authenticatedUser object, available via getAuthenticatedUser().\n *\n * ```\n * console.log(authenticatedUser); // Will be sparse and only contain basic information.\n * await hydrateAuthenticatedUser()\n * const authenticatedUser = getAuthenticatedUser();\n * console.log(authenticatedUser); // Will contain additional user information\n * ```\n *\n * @returns {Promise<null>}\n */\n async hydrateAuthenticatedUser() {\n const user = this.getAuthenticatedUser();\n if (user !== null) {\n const response = await this.authenticatedHttpClient\n .get(`${this.config.LMS_BASE_URL}/api/user/v1/accounts/${user.username}`);\n this.setAuthenticatedUser({ ...user, ...camelCaseObject(response.data) });\n }\n }\n\n /**\n * Adds authentication defaults and interceptors to an HTTP client instance.\n *\n * @param {HttpClient} newHttpClient\n * @param {Object} config\n * @param {string} [config.REFRESH_ACCESS_TOKEN_ENDPOINT]\n * @param {string} [config.ACCESS_TOKEN_COOKIE_NAME]\n * @param {string} [config.CSRF_TOKEN_API_PATH]\n * @returns {HttpClient} A configured Axios HTTP client.\n */\n addAuthenticationToHttpClient(newHttpClient) {\n const httpClient = Object.create(newHttpClient);\n // Set withCredentials to true. Enables cross-site Access-Control requests\n // to be made using cookies, authorization headers or TLS client\n // certificates. More on MDN:\n // https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/withCredentials\n httpClient.defaults.withCredentials = true;\n\n // Axios interceptors\n\n // The JWT access token interceptor attempts to refresh the user's jwt token\n // before any request unless the isPublic flag is set on the request config.\n const refreshAccessTokenInterceptor = createJwtTokenProviderInterceptor({\n jwtTokenService: this.jwtTokenService,\n shouldSkip: axiosRequestConfig => axiosRequestConfig.isPublic,\n });\n // The CSRF token intercepter fetches and caches a csrf token for any post,\n // put, patch, or delete request. That token is then added to the request\n // headers.\n const attachCsrfTokenInterceptor = createCsrfTokenProviderInterceptor({\n csrfTokenService: this.csrfTokenService,\n CSRF_TOKEN_API_PATH: this.config.CSRF_TOKEN_API_PATH,\n shouldSkip: (axiosRequestConfig) => {\n const { method, isCsrfExempt } = axiosRequestConfig;\n const CSRF_PROTECTED_METHODS = ['post', 'put', 'patch', 'delete'];\n return isCsrfExempt || !CSRF_PROTECTED_METHODS.includes(method);\n },\n });\n\n const processAxiosRequestErrorInterceptor = createProcessAxiosRequestErrorInterceptor({\n loggingService: this.loggingService,\n });\n\n // Request interceptors: Axios runs the interceptors in reverse order from\n // how they are listed. After fetching csrf tokens no longer require jwt\n // authentication, it won't matter which happens first. This change is\n // coming soon in edx-platform. Nov. 2019\n httpClient.interceptors.request.use(attachCsrfTokenInterceptor);\n httpClient.interceptors.request.use(refreshAccessTokenInterceptor);\n\n // Response interceptor: moves axios response error data into the error\n // object at error.customAttributes\n httpClient.interceptors.response.use(\n response => response,\n processAxiosRequestErrorInterceptor,\n );\n\n return httpClient;\n }\n}\n\nexport default AxiosJwtAuthService;\n"],"mappings":"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","ignoreList":[]}
@@ -5,8 +5,8 @@ function _asyncToGenerator(fn) { return function () { var self = this, args = ar
5
5
  function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
6
6
  function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }
7
7
  function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
8
- function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
9
- function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
8
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
9
+ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
10
10
  import Cookies from 'universal-cookie';
11
11
  import jwtDecode from 'jwt-decode';
12
12
  import axios from 'axios';