@things-factory/auth-azure-ad 6.1.182 → 6.1.185

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.
@@ -8,7 +8,7 @@ const env_1 = require("@things-factory/env");
8
8
  const auth_base_1 = require("@things-factory/auth-base");
9
9
  const SSOAzureADConfig = env_1.config.get('SSOAzureAD');
10
10
  if (SSOAzureADConfig) {
11
- koa_passport_1.default.use(new passport_azure_ad_1.OIDCStrategy(Object.assign({ passReqToCallback: true, allowHttpForRedirectUrl: true, isB2C: false, scope: ['openid', 'email', 'profile'] }, SSOAzureADConfig), async (req, iss, sub, profile, accessToken, refreshToken, done) => {
11
+ koa_passport_1.default.use(new passport_azure_ad_1.OIDCStrategy(Object.assign(Object.assign({ allowHttpForRedirectUrl: true }, SSOAzureADConfig), { passReqToCallback: true, isB2C: false, scope: ['openid', 'email', 'profile'] }), async (req, iss, sub, profile, accessToken, refreshToken, done) => {
12
12
  var _a;
13
13
  if (!profile.oid || !((_a = profile._json) === null || _a === void 0 ? void 0 : _a.email)) {
14
14
  return done(new Error('No oid or no email found'), null);
@@ -1 +1 @@
1
- {"version":3,"file":"azure-ad-authenticate-middleware.js","sourceRoot":"","sources":["../../server/middlewares/azure-ad-authenticate-middleware.ts"],"names":[],"mappings":";;;;AAAA,wEAAmC;AACnC,yDAAgD;AAEhD,6CAA4C;AAC5C,yDAAgD;AAEhD,MAAM,gBAAgB,GAAG,YAAM,CAAC,GAAG,CAAC,YAAY,CAAC,CAAA;AAEjD,IAAI,gBAAgB,EAAE;IACpB,sBAAQ,CAAC,GAAG,CACV,IAAI,gCAAY,iBAEZ,iBAAiB,EAAE,IAAI,EACvB,uBAAuB,EAAE,IAAI,EAC7B,KAAK,EAAE,KAAK,EACZ,KAAK,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,SAAS,CAAC,IAClC,gBAAgB,GAErB,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,IAAI,EAAE,EAAE;;QAChE,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,CAAA,MAAA,OAAO,CAAC,KAAK,0CAAE,KAAK,CAAA,EAAE;YACzC,OAAO,IAAI,CAAC,IAAI,KAAK,CAAC,0BAA0B,CAAC,EAAE,IAAI,CAAC,CAAA;SACzD;QAED,IAAI;YACF,MAAM,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;YAE/B,MAAM,IAAI,GAAG,MAAM,gBAAI,CAAC,kBAAkB,CAAC,EAAE,KAAK,EAAE,CAAC,CAAA;YAErD,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,IAAI,CAAA;YAErC,OAAO,IAAI,CAAC,IAAI,EAAE;gBAChB,EAAE;gBACF,QAAQ;gBACR,MAAM;aACP,CAAC,CAAA;SACH;QAAC,OAAO,KAAK,EAAE;YACd,OAAO,IAAI,CAAC,KAAK,CAAC,CAAA;SACnB;IACH,CAAC,CACF,CACF,CAAA;CACF;AAEM,KAAK,UAAU,iBAAiB,CAAC,OAAO,EAAE,IAAI;IACnD,MAAM,EAAE,IAAI,EAAE,GAAG,OAAO,CAAA;IACxB,MAAM,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;IAE9B,IAAI,IAAI,EAAE;QACR,OAAO,MAAM,IAAI,EAAE,CAAA;KACpB;IAED,MAAM,sBAAQ,CAAC,YAAY,CAAC,uBAAuB,EAAE;QACnD,eAAe,EAAE,cAAc;QAC/B,eAAe,EAAE,eAAe;KACjC,CAAC,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA;AACnB,CAAC;AAZD,8CAYC;AAEM,KAAK,UAAU,6BAA6B,CAAC,OAAO,EAAE,IAAI;;IAC/D,MAAM,EAAE,IAAI,EAAE,GAAG,OAAO,CAAA;IACxB,MAAM,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;IAE9B,IAAI,IAAI,EAAE;QACR,OAAO,MAAM,IAAI,EAAE,CAAA;KACpB;IAED,MAAM,sBAAQ,CAAC,YAAY,CAAC,uBAAuB,EAAE;QACnD,eAAe,EAAE,cAAc;QAC/B,eAAe,EAAE,eAAe;KACjC,CAAC,CAAC,OAAO,CAAC,CAAA;IAEX,wCAAwC;IACxC,MAAM,cAAc,GAAG,MAAA,OAAO,CAAC,OAAO,0CAAE,QAAQ,CAAA;IAChD,IAAI,cAAc,EAAE;QAClB,MAAM,UAAU,GAAG,MAAM,gBAAI,CAAC,SAAS,CAAC,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,IAAI,CAAC,CAAA;QAC7D,OAAO,CAAC,KAAK,CAAC,IAAI,GAAG,UAAU,CAAA;KAChC;IAED,OAAO,MAAM,IAAI,EAAE,CAAA;AACrB,CAAC;AArBD,sEAqBC","sourcesContent":["import passport from 'koa-passport'\nimport { OIDCStrategy } from 'passport-azure-ad'\n\nimport { config } from '@things-factory/env'\nimport { User } from '@things-factory/auth-base'\n\nconst SSOAzureADConfig = config.get('SSOAzureAD')\n\nif (SSOAzureADConfig) {\n passport.use(\n new OIDCStrategy(\n {\n passReqToCallback: true,\n allowHttpForRedirectUrl: true,\n isB2C: false,\n scope: ['openid', 'email', 'profile'],\n ...SSOAzureADConfig\n },\n async (req, iss, sub, profile, accessToken, refreshToken, done) => {\n if (!profile.oid || !profile._json?.email) {\n return done(new Error('No oid or no email found'), null)\n }\n\n try {\n const { email } = profile._json\n\n const user = await User.checkAuthWithEmail({ email })\n\n const { id, userType, status } = user\n\n return done(null, {\n id,\n userType,\n status\n })\n } catch (error) {\n return done(error)\n }\n }\n )\n )\n}\n\nexport async function azureADMiddleware(context, next) {\n const { path } = context\n const { user } = context.state\n\n if (user) {\n return await next()\n }\n\n await passport.authenticate('azuread-openidconnect', {\n failureRedirect: '/auth/signin',\n successRedirect: '/auth/checkin'\n })(context, next)\n}\n\nexport async function azureADSubscriptionMiddleware(context, next) {\n const { path } = context\n const { user } = context.state\n\n if (user) {\n return await next()\n }\n\n await passport.authenticate('azuread-openidconnect', {\n failureRedirect: '/auth/signin',\n successRedirect: '/auth/checkin'\n })(context)\n\n /* 다음은, websocket 에서 인증을 처리하기 위한 작업임. */\n const passportObject = context.session?.passport\n if (passportObject) {\n const userEntity = await User.checkAuth(passportObject?.user)\n context.state.user = userEntity\n }\n\n return await next()\n}\n"]}
1
+ {"version":3,"file":"azure-ad-authenticate-middleware.js","sourceRoot":"","sources":["../../server/middlewares/azure-ad-authenticate-middleware.ts"],"names":[],"mappings":";;;;AAAA,wEAAmC;AACnC,yDAAgD;AAEhD,6CAA4C;AAC5C,yDAAgD;AAEhD,MAAM,gBAAgB,GAAG,YAAM,CAAC,GAAG,CAAC,YAAY,CAAC,CAAA;AAEjD,IAAI,gBAAgB,EAAE;IACpB,sBAAQ,CAAC,GAAG,CACV,IAAI,gCAAY,+BAEZ,uBAAuB,EAAE,IAAI,IAC1B,gBAAgB,KACnB,iBAAiB,EAAE,IAAI,EACvB,KAAK,EAAE,KAAK,EACZ,KAAK,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,SAAS,CAAC,KAEvC,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,IAAI,EAAE,EAAE;;QAChE,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,CAAA,MAAA,OAAO,CAAC,KAAK,0CAAE,KAAK,CAAA,EAAE;YACzC,OAAO,IAAI,CAAC,IAAI,KAAK,CAAC,0BAA0B,CAAC,EAAE,IAAI,CAAC,CAAA;SACzD;QAED,IAAI;YACF,MAAM,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;YAE/B,MAAM,IAAI,GAAG,MAAM,gBAAI,CAAC,kBAAkB,CAAC,EAAE,KAAK,EAAE,CAAC,CAAA;YAErD,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,IAAI,CAAA;YAErC,OAAO,IAAI,CAAC,IAAI,EAAE;gBAChB,EAAE;gBACF,QAAQ;gBACR,MAAM;aACP,CAAC,CAAA;SACH;QAAC,OAAO,KAAK,EAAE;YACd,OAAO,IAAI,CAAC,KAAK,CAAC,CAAA;SACnB;IACH,CAAC,CACF,CACF,CAAA;CACF;AAEM,KAAK,UAAU,iBAAiB,CAAC,OAAO,EAAE,IAAI;IACnD,MAAM,EAAE,IAAI,EAAE,GAAG,OAAO,CAAA;IACxB,MAAM,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;IAE9B,IAAI,IAAI,EAAE;QACR,OAAO,MAAM,IAAI,EAAE,CAAA;KACpB;IAED,MAAM,sBAAQ,CAAC,YAAY,CAAC,uBAAuB,EAAE;QACnD,eAAe,EAAE,cAAc;QAC/B,eAAe,EAAE,eAAe;KACjC,CAAC,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA;AACnB,CAAC;AAZD,8CAYC;AAEM,KAAK,UAAU,6BAA6B,CAAC,OAAO,EAAE,IAAI;;IAC/D,MAAM,EAAE,IAAI,EAAE,GAAG,OAAO,CAAA;IACxB,MAAM,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;IAE9B,IAAI,IAAI,EAAE;QACR,OAAO,MAAM,IAAI,EAAE,CAAA;KACpB;IAED,MAAM,sBAAQ,CAAC,YAAY,CAAC,uBAAuB,EAAE;QACnD,eAAe,EAAE,cAAc;QAC/B,eAAe,EAAE,eAAe;KACjC,CAAC,CAAC,OAAO,CAAC,CAAA;IAEX,wCAAwC;IACxC,MAAM,cAAc,GAAG,MAAA,OAAO,CAAC,OAAO,0CAAE,QAAQ,CAAA;IAChD,IAAI,cAAc,EAAE;QAClB,MAAM,UAAU,GAAG,MAAM,gBAAI,CAAC,SAAS,CAAC,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,IAAI,CAAC,CAAA;QAC7D,OAAO,CAAC,KAAK,CAAC,IAAI,GAAG,UAAU,CAAA;KAChC;IAED,OAAO,MAAM,IAAI,EAAE,CAAA;AACrB,CAAC;AArBD,sEAqBC","sourcesContent":["import passport from 'koa-passport'\nimport { OIDCStrategy } from 'passport-azure-ad'\n\nimport { config } from '@things-factory/env'\nimport { User } from '@things-factory/auth-base'\n\nconst SSOAzureADConfig = config.get('SSOAzureAD')\n\nif (SSOAzureADConfig) {\n passport.use(\n new OIDCStrategy(\n {\n allowHttpForRedirectUrl: true,\n ...SSOAzureADConfig,\n passReqToCallback: true,\n isB2C: false,\n scope: ['openid', 'email', 'profile']\n },\n async (req, iss, sub, profile, accessToken, refreshToken, done) => {\n if (!profile.oid || !profile._json?.email) {\n return done(new Error('No oid or no email found'), null)\n }\n\n try {\n const { email } = profile._json\n\n const user = await User.checkAuthWithEmail({ email })\n\n const { id, userType, status } = user\n\n return done(null, {\n id,\n userType,\n status\n })\n } catch (error) {\n return done(error)\n }\n }\n )\n )\n}\n\nexport async function azureADMiddleware(context, next) {\n const { path } = context\n const { user } = context.state\n\n if (user) {\n return await next()\n }\n\n await passport.authenticate('azuread-openidconnect', {\n failureRedirect: '/auth/signin',\n successRedirect: '/auth/checkin'\n })(context, next)\n}\n\nexport async function azureADSubscriptionMiddleware(context, next) {\n const { path } = context\n const { user } = context.state\n\n if (user) {\n return await next()\n }\n\n await passport.authenticate('azuread-openidconnect', {\n failureRedirect: '/auth/signin',\n successRedirect: '/auth/checkin'\n })(context)\n\n /* 다음은, websocket 에서 인증을 처리하기 위한 작업임. */\n const passportObject = context.session?.passport\n if (passportObject) {\n const userEntity = await User.checkAuth(passportObject?.user)\n context.state.user = userEntity\n }\n\n return await next()\n}\n"]}