@liflig/cdk-cloudfront-auth 1.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 (48) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +63 -0
  3. package/dist/check-auth/index.js +2 -0
  4. package/dist/check-auth/index.js.LICENSE.txt +17 -0
  5. package/dist/generate-secret/index.js +1 -0
  6. package/dist/http-headers/index.js +2 -0
  7. package/dist/http-headers/index.js.LICENSE.txt +6 -0
  8. package/dist/parse-auth/index.js +2 -0
  9. package/dist/parse-auth/index.js.LICENSE.txt +31 -0
  10. package/dist/refresh-auth/index.js +2 -0
  11. package/dist/refresh-auth/index.js.LICENSE.txt +31 -0
  12. package/dist/sign-out/index.js +2 -0
  13. package/dist/sign-out/index.js.LICENSE.txt +17 -0
  14. package/lib/client-secret.d.ts +10 -0
  15. package/lib/client-secret.js +54 -0
  16. package/lib/client-update.d.ts +14 -0
  17. package/lib/client-update.js +59 -0
  18. package/lib/cloudfront-auth.d.ts +132 -0
  19. package/lib/cloudfront-auth.js +267 -0
  20. package/lib/generate-secret.d.ts +15 -0
  21. package/lib/generate-secret.js +71 -0
  22. package/lib/handlers/check-auth.d.ts +7 -0
  23. package/lib/handlers/generate-secret.d.ts +9 -0
  24. package/lib/handlers/http-headers.d.ts +1 -0
  25. package/lib/handlers/parse-auth.d.ts +1 -0
  26. package/lib/handlers/refresh-auth.d.ts +1 -0
  27. package/lib/handlers/sign-out.d.ts +1 -0
  28. package/lib/handlers/util/axios.d.ts +4 -0
  29. package/lib/handlers/util/axios.js +42 -0
  30. package/lib/handlers/util/base64.d.ts +8 -0
  31. package/lib/handlers/util/base64.js +26 -0
  32. package/lib/handlers/util/cloudfront.d.ts +17 -0
  33. package/lib/handlers/util/cloudfront.js +102 -0
  34. package/lib/handlers/util/config.d.ts +26 -0
  35. package/lib/handlers/util/config.js +48 -0
  36. package/lib/handlers/util/cookies.d.ts +29 -0
  37. package/lib/handlers/util/cookies.js +115 -0
  38. package/lib/handlers/util/jwt.d.ts +17 -0
  39. package/lib/handlers/util/jwt.js +59 -0
  40. package/lib/handlers/util/logger.d.ts +16 -0
  41. package/lib/handlers/util/logger.js +55 -0
  42. package/lib/handlers/util/nonce.d.ts +9 -0
  43. package/lib/handlers/util/nonce.js +47 -0
  44. package/lib/index.d.ts +2 -0
  45. package/lib/index.js +19 -0
  46. package/lib/lambdas.d.ts +33 -0
  47. package/lib/lambdas.js +88 -0
  48. package/package.json +75 -0
@@ -0,0 +1,17 @@
1
+ /*!
2
+ * cookie
3
+ * Copyright(c) 2012-2014 Roman Shtylman
4
+ * Copyright(c) 2015 Douglas Christopher Wilson
5
+ * MIT Licensed
6
+ */
7
+
8
+ /*! safe-buffer. MIT License. Feross Aboukhadijeh <https://feross.org/opensource> */
9
+
10
+ /**
11
+ * @license
12
+ * Lodash <https://lodash.com/>
13
+ * Copyright OpenJS Foundation and other contributors <https://openjsf.org/>
14
+ * Released under MIT license <https://lodash.com/license>
15
+ * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>
16
+ * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
17
+ */
@@ -0,0 +1 @@
1
+ (()=>{"use strict";var e={6113:e=>{e.exports=require("crypto")}},r={};function t(s){var a=r[s];if(void 0!==a)return a.exports;var o=r[s]={exports:{}};return e[s](o,o.exports,t),o.exports}var s={};(()=>{var e=s;Object.defineProperty(e,"__esModule",{value:!0}),e.handler=void 0;const r=t(6113);e.handler=async e=>{switch(e.RequestType){case"Delete":return{PhysicalResourceId:e.PhysicalResourceId};case"Create":case"Update":return{PhysicalResourceId:"generate-secret",Data:{Value:(0,r.randomBytes)(16).toString("hex")}}}}})();var a=exports;for(var o in s)a[o]=s[o];s.__esModule&&Object.defineProperty(a,"__esModule",{value:!0})})();
@@ -0,0 +1,2 @@
1
+ /*! For license information please see index.js.LICENSE.txt */
2
+ (()=>{"use strict";var e={6489:(e,t)=>{t.parse=function(e,t){if("string"!=typeof e)throw new TypeError("argument str must be a string");for(var r={},o=(t||{}).decode||n,i=0;i<e.length;){var s=e.indexOf("=",i);if(-1===s)break;var l=e.indexOf(";",i);if(-1===l)l=e.length;else if(l<s){i=e.lastIndexOf(";",s-1)+1;continue}var c=e.slice(i,s).trim();if(void 0===r[c]){var u=e.slice(s+1,l).trim();34===u.charCodeAt(0)&&(u=u.slice(1,-1)),r[c]=a(u,o)}i=l+1}return r},t.serialize=function(e,t,n){var a=n||{},s=a.encode||i;if("function"!=typeof s)throw new TypeError("option encode is invalid");if(!o.test(e))throw new TypeError("argument name is invalid");var l=s(t);if(l&&!o.test(l))throw new TypeError("argument val is invalid");var c=e+"="+l;if(null!=a.maxAge){var u=a.maxAge-0;if(isNaN(u)||!isFinite(u))throw new TypeError("option maxAge is invalid");c+="; Max-Age="+Math.floor(u)}if(a.domain){if(!o.test(a.domain))throw new TypeError("option domain is invalid");c+="; Domain="+a.domain}if(a.path){if(!o.test(a.path))throw new TypeError("option path is invalid");c+="; Path="+a.path}if(a.expires){var d=a.expires;if(!function(e){return"[object Date]"===r.call(e)||e instanceof Date}(d)||isNaN(d.valueOf()))throw new TypeError("option expires is invalid");c+="; Expires="+d.toUTCString()}if(a.httpOnly&&(c+="; HttpOnly"),a.secure&&(c+="; Secure"),a.priority)switch("string"==typeof a.priority?a.priority.toLowerCase():a.priority){case"low":c+="; Priority=Low";break;case"medium":c+="; Priority=Medium";break;case"high":c+="; Priority=High";break;default:throw new TypeError("option priority is invalid")}if(a.sameSite)switch("string"==typeof a.sameSite?a.sameSite.toLowerCase():a.sameSite){case!0:c+="; SameSite=Strict";break;case"lax":c+="; SameSite=Lax";break;case"strict":c+="; SameSite=Strict";break;case"none":c+="; SameSite=None";break;default:throw new TypeError("option sameSite is invalid")}return c};var r=Object.prototype.toString,o=/^[\u0009\u0020-\u007e\u0080-\u00ff]+$/;function n(e){return-1!==e.indexOf("%")?decodeURIComponent(e):e}function i(e){return encodeURIComponent(e)}function a(e,t){try{return t(e)}catch(t){return e}}},4214:(e,t,r)=>{r.r(t),r.d(t,{default:()=>o});const o='<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"/> <meta name="viewport" content="width=device-width,initial-scale=1,shrink-to-fit=no"/> </head> <body> <h1>${title}</h1> <p>${message}</p> <p> ${details} [log region: ${region}] </p> <p> <a href="${linkHref}">${linkText}</a> </p> </body> </html> '},5316:function(e,t,r){var o=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.createResponseHandler=t.createRequestHandler=t.staticPage=t.redirectTo=void 0;const n=o(r(4214)),i=r(1641);function a(e){const t={...e,region:process.env.AWS_REGION};return n.default.replace(/\${([^}]*)}/g,((e,r)=>t[r]||""))}function s(e,t){var r,o;if(!t)throw new Error("Expected response value");return{...t,headers:{...null!==(r=t.headers)&&void 0!==r?r:{},...(o=e.httpHeaders,Object.entries(o).reduce(((e,[t,r])=>Object.assign(e,{[t.toLowerCase()]:[{key:t,value:r}]})),{}))}}}t.redirectTo=function(e,t){return{status:"307",statusDescription:"Temporary Redirect",headers:{location:[{key:"location",value:e}],...(null==t?void 0:t.cookies)?{"set-cookie":t.cookies.map((e=>({key:"set-cookie",value:e})))}:{}}}},t.staticPage=function(e){var t;return{body:a(e),status:null!==(t=e.statusCode)&&void 0!==t?t:"500",headers:{"content-type":[{key:"Content-Type",value:"text/html; charset=UTF-8"}]}}},t.createRequestHandler=function(e){let t;return async r=>{t||(t=(0,i.getConfig)()),t.logger.debug("Handling event:",r);const o=s(t,await e(t,r));return t.logger.debug("Returning response:",o),o}},t.createResponseHandler=function(e){let t;return async r=>{t||(t=(0,i.getConfig)()),t.logger.debug("Handling event:",r);const o=s(t,await e(t,r));return t.logger.debug("Returning response:",o),o}}},1641:function(e,t,r){var o=this&&this.__createBinding||(Object.create?function(e,t,r,o){void 0===o&&(o=r);var n=Object.getOwnPropertyDescriptor(t,r);n&&!("get"in n?!t.__esModule:n.writable||n.configurable)||(n={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,o,n)}:function(e,t,r,o){void 0===o&&(o=r),e[o]=t[r]}),n=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),i=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&o(t,e,r);return n(t,e),t};Object.defineProperty(t,"__esModule",{value:!0}),t.getConfig=void 0;const a=r(6489),s=r(7147),l=i(r(1017)),c=r(7471);t.getConfig=function(){const e=JSON.parse((0,s.readFileSync)(l.join(__dirname,"/config.json"),"utf-8")),t=`https://cognito-idp.${/^(\S+?)_\S+$/.exec(e.userPoolId)[1]}.amazonaws.com/${e.userPoolId}`,r=`${t}/.well-known/jwks.json`;return{nonceMaxAge:parseInt((0,a.parse)(e.cookieSettings.nonce.toLowerCase())["max-age"])||86400,...e,tokenIssuer:t,tokenJwksUri:r,logger:new c.Logger(c.LogLevel[e.logLevel])}}},7471:(e,t)=>{var r;Object.defineProperty(t,"__esModule",{value:!0}),t.Logger=t.LogLevel=void 0,function(e){e[e.none=0]="none",e[e.error=10]="error",e[e.warn=20]="warn",e[e.info=30]="info",e[e.debug=40]="debug"}(r=t.LogLevel||(t.LogLevel={})),t.Logger=class{constructor(e){this.logLevel=e}jsonify(e){return e.map((e=>{if("object"==typeof e)try{return JSON.stringify(e)}catch(t){return e}return e}))}info(...e){this.logLevel>=r.info&&console.log(...this.jsonify(e))}warn(...e){this.logLevel>=r.warn&&console.warn(...this.jsonify(e))}error(...e){this.logLevel>=r.error&&console.error(...this.jsonify(e))}debug(...e){this.logLevel>=r.debug&&console.trace(...this.jsonify(e))}}},7147:e=>{e.exports=require("fs")},1017:e=>{e.exports=require("path")}},t={};function r(o){var n=t[o];if(void 0!==n)return n.exports;var i=t[o]={exports:{}};return e[o].call(i.exports,i,i.exports,r),i.exports}r.d=(e,t)=>{for(var o in t)r.o(t,o)&&!r.o(e,o)&&Object.defineProperty(e,o,{enumerable:!0,get:t[o]})},r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var o={};(()=>{var e=o;Object.defineProperty(e,"__esModule",{value:!0}),e.handler=void 0;const t=r(5316);e.handler=(0,t.createResponseHandler)((async(e,t)=>t.Records[0].cf.response))})();var n=exports;for(var i in o)n[i]=o[i];o.__esModule&&Object.defineProperty(n,"__esModule",{value:!0})})();
@@ -0,0 +1,6 @@
1
+ /*!
2
+ * cookie
3
+ * Copyright(c) 2012-2014 Roman Shtylman
4
+ * Copyright(c) 2015 Douglas Christopher Wilson
5
+ * MIT Licensed
6
+ */