@things-factory/auth-base 8.0.5 → 9.0.0-beta.12
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.
- package/config/config.development.js +45 -0
- package/config/config.production.js +45 -0
- package/dist-client/bootstrap.d.ts +1 -1
- package/dist-client/bootstrap.js +4 -4
- package/dist-client/bootstrap.js.map +1 -1
- package/dist-client/directive/privileged.d.ts +1 -1
- package/dist-client/directive/privileged.js +1 -1
- package/dist-client/directive/privileged.js.map +1 -1
- package/dist-client/index.d.ts +4 -3
- package/dist-client/index.js +4 -3
- package/dist-client/index.js.map +1 -1
- package/dist-client/profiled.js +1 -1
- package/dist-client/profiled.js.map +1 -1
- package/dist-client/reducers/auth.js +1 -1
- package/dist-client/reducers/auth.js.map +1 -1
- package/dist-client/tsconfig.tsbuildinfo +1 -1
- package/dist-client/verify-webauthn.d.ts +13 -0
- package/dist-client/verify-webauthn.js +72 -0
- package/dist-client/verify-webauthn.js.map +1 -0
- package/dist-server/constants/error-code.d.ts +2 -0
- package/dist-server/constants/error-code.js +3 -1
- package/dist-server/constants/error-code.js.map +1 -1
- package/dist-server/controllers/auth.d.ts +5 -5
- package/dist-server/controllers/auth.js +5 -5
- package/dist-server/controllers/auth.js.map +1 -1
- package/dist-server/controllers/change-pwd.js +21 -21
- package/dist-server/controllers/change-pwd.js.map +1 -1
- package/dist-server/controllers/checkin.js +4 -4
- package/dist-server/controllers/checkin.js.map +1 -1
- package/dist-server/controllers/delete-user.js +22 -21
- package/dist-server/controllers/delete-user.js.map +1 -1
- package/dist-server/controllers/invitation.d.ts +2 -1
- package/dist-server/controllers/invitation.js +46 -21
- package/dist-server/controllers/invitation.js.map +1 -1
- package/dist-server/controllers/profile.d.ts +9 -8
- package/dist-server/controllers/profile.js +26 -8
- package/dist-server/controllers/profile.js.map +1 -1
- package/dist-server/controllers/reset-password.js +24 -24
- package/dist-server/controllers/reset-password.js.map +1 -1
- package/dist-server/controllers/signin.d.ts +5 -2
- package/dist-server/controllers/signin.js +41 -25
- package/dist-server/controllers/signin.js.map +1 -1
- package/dist-server/controllers/signup.d.ts +1 -1
- package/dist-server/controllers/signup.js +26 -17
- package/dist-server/controllers/signup.js.map +1 -1
- package/dist-server/controllers/unlock-user.js +18 -17
- package/dist-server/controllers/unlock-user.js.map +1 -1
- package/dist-server/controllers/utils/password-rule.js +4 -4
- package/dist-server/controllers/utils/password-rule.js.map +1 -1
- package/dist-server/controllers/utils/save-invitation-token.d.ts +1 -1
- package/dist-server/controllers/utils/save-invitation-token.js +2 -2
- package/dist-server/controllers/utils/save-invitation-token.js.map +1 -1
- package/dist-server/controllers/utils/save-verification-token.d.ts +1 -1
- package/dist-server/controllers/utils/save-verification-token.js +3 -3
- package/dist-server/controllers/utils/save-verification-token.js.map +1 -1
- package/dist-server/controllers/verification.js +24 -23
- package/dist-server/controllers/verification.js.map +1 -1
- package/dist-server/errors/auth-error.js +1 -1
- package/dist-server/errors/auth-error.js.map +1 -1
- package/dist-server/errors/index.d.ts +2 -2
- package/dist-server/errors/index.js +2 -2
- package/dist-server/errors/index.js.map +1 -1
- package/dist-server/errors/user-domain-not-match-error.d.ts +1 -1
- package/dist-server/errors/user-domain-not-match-error.js +8 -8
- package/dist-server/errors/user-domain-not-match-error.js.map +1 -1
- package/dist-server/index.d.ts +16 -16
- package/dist-server/index.js +18 -18
- package/dist-server/index.js.map +1 -1
- package/dist-server/middlewares/authenticate-401-middleware.js +11 -11
- package/dist-server/middlewares/authenticate-401-middleware.js.map +1 -1
- package/dist-server/middlewares/domain-authenticate-middleware.d.ts +1 -1
- package/dist-server/middlewares/domain-authenticate-middleware.js +9 -9
- package/dist-server/middlewares/domain-authenticate-middleware.js.map +1 -1
- package/dist-server/middlewares/graphql-authenticate-middleware.js +4 -4
- package/dist-server/middlewares/graphql-authenticate-middleware.js.map +1 -1
- package/dist-server/middlewares/index.d.ts +5 -5
- package/dist-server/middlewares/index.js +18 -18
- package/dist-server/middlewares/index.js.map +1 -1
- package/dist-server/middlewares/jwt-authenticate-middleware.js +15 -15
- package/dist-server/middlewares/jwt-authenticate-middleware.js.map +1 -1
- package/dist-server/middlewares/signin-middleware.js +7 -6
- package/dist-server/middlewares/signin-middleware.js.map +1 -1
- package/dist-server/middlewares/verify-recaptcha-middleware.d.ts +3 -0
- package/dist-server/middlewares/verify-recaptcha-middleware.js +95 -0
- package/dist-server/middlewares/verify-recaptcha-middleware.js.map +1 -0
- package/dist-server/middlewares/webauthn-middleware.js +16 -13
- package/dist-server/middlewares/webauthn-middleware.js.map +1 -1
- package/dist-server/migrations/1548206416130-SeedUser.js +8 -7
- package/dist-server/migrations/1548206416130-SeedUser.js.map +1 -1
- package/dist-server/migrations/1566805283882-SeedPrivilege.js +2 -2
- package/dist-server/migrations/1566805283882-SeedPrivilege.js.map +1 -1
- package/dist-server/migrations/index.js.map +1 -1
- package/dist-server/router/auth-checkin-router.js +18 -12
- package/dist-server/router/auth-checkin-router.js.map +1 -1
- package/dist-server/router/auth-private-process-router.js +26 -21
- package/dist-server/router/auth-private-process-router.js.map +1 -1
- package/dist-server/router/auth-public-process-router.js +42 -31
- package/dist-server/router/auth-public-process-router.js.map +1 -1
- package/dist-server/router/auth-signin-router.js +16 -16
- package/dist-server/router/auth-signin-router.js.map +1 -1
- package/dist-server/router/auth-signup-router.js +13 -9
- package/dist-server/router/auth-signup-router.js.map +1 -1
- package/dist-server/router/index.d.ts +9 -9
- package/dist-server/router/index.js +9 -9
- package/dist-server/router/index.js.map +1 -1
- package/dist-server/router/oauth2/index.d.ts +2 -2
- package/dist-server/router/oauth2/index.js +2 -2
- package/dist-server/router/oauth2/index.js.map +1 -1
- package/dist-server/router/oauth2/oauth2-authorize-router.js +6 -6
- package/dist-server/router/oauth2/oauth2-authorize-router.js.map +1 -1
- package/dist-server/router/oauth2/oauth2-router.d.ts +1 -1
- package/dist-server/router/oauth2/oauth2-router.js +21 -21
- package/dist-server/router/oauth2/oauth2-router.js.map +1 -1
- package/dist-server/router/oauth2/oauth2-server.js +21 -21
- package/dist-server/router/oauth2/oauth2-server.js.map +1 -1
- package/dist-server/router/site-root-router.js +4 -4
- package/dist-server/router/site-root-router.js.map +1 -1
- package/dist-server/router/webauthn-router.js +58 -8
- package/dist-server/router/webauthn-router.js.map +1 -1
- package/dist-server/routes.js +19 -19
- package/dist-server/routes.js.map +1 -1
- package/dist-server/service/app-binding/app-binding-mutation.js +4 -4
- package/dist-server/service/app-binding/app-binding-mutation.js.map +1 -1
- package/dist-server/service/app-binding/app-binding-query.d.ts +4 -4
- package/dist-server/service/app-binding/app-binding-query.js +22 -22
- package/dist-server/service/app-binding/app-binding-query.js.map +1 -1
- package/dist-server/service/app-binding/app-binding-types.d.ts +1 -1
- package/dist-server/service/app-binding/app-binding-types.js +2 -2
- package/dist-server/service/app-binding/app-binding-types.js.map +1 -1
- package/dist-server/service/app-binding/app-binding.d.ts +2 -2
- package/dist-server/service/app-binding/app-binding.js +4 -4
- package/dist-server/service/app-binding/app-binding.js.map +1 -1
- package/dist-server/service/app-binding/index.d.ts +2 -2
- package/dist-server/service/app-binding/index.js +3 -3
- package/dist-server/service/app-binding/index.js.map +1 -1
- package/dist-server/service/appliance/appliance-mutation.d.ts +2 -2
- package/dist-server/service/appliance/appliance-mutation.js +21 -21
- package/dist-server/service/appliance/appliance-mutation.js.map +1 -1
- package/dist-server/service/appliance/appliance-query.d.ts +3 -3
- package/dist-server/service/appliance/appliance-query.js +17 -17
- package/dist-server/service/appliance/appliance-query.js.map +1 -1
- package/dist-server/service/appliance/appliance-types.d.ts +1 -1
- package/dist-server/service/appliance/appliance-types.js +2 -2
- package/dist-server/service/appliance/appliance-types.js.map +1 -1
- package/dist-server/service/appliance/appliance.d.ts +1 -1
- package/dist-server/service/appliance/appliance.js +8 -8
- package/dist-server/service/appliance/appliance.js.map +1 -1
- package/dist-server/service/appliance/index.d.ts +3 -3
- package/dist-server/service/appliance/index.js +5 -5
- package/dist-server/service/appliance/index.js.map +1 -1
- package/dist-server/service/application/application-mutation.d.ts +8 -8
- package/dist-server/service/application/application-mutation.js +20 -20
- package/dist-server/service/application/application-mutation.js.map +1 -1
- package/dist-server/service/application/application-query.d.ts +2 -2
- package/dist-server/service/application/application-query.js +16 -16
- package/dist-server/service/application/application-query.js.map +1 -1
- package/dist-server/service/application/application-types.d.ts +1 -1
- package/dist-server/service/application/application-types.js +4 -4
- package/dist-server/service/application/application-types.js.map +1 -1
- package/dist-server/service/application/application.d.ts +1 -1
- package/dist-server/service/application/application.js +12 -12
- package/dist-server/service/application/application.js.map +1 -1
- package/dist-server/service/application/index.d.ts +3 -3
- package/dist-server/service/application/index.js +5 -5
- package/dist-server/service/application/index.js.map +1 -1
- package/dist-server/service/auth-provider/auth-provider-mutation.d.ts +2 -2
- package/dist-server/service/auth-provider/auth-provider-mutation.js +20 -20
- package/dist-server/service/auth-provider/auth-provider-mutation.js.map +1 -1
- package/dist-server/service/auth-provider/auth-provider-query.d.ts +3 -3
- package/dist-server/service/auth-provider/auth-provider-query.js +20 -20
- package/dist-server/service/auth-provider/auth-provider-query.js.map +1 -1
- package/dist-server/service/auth-provider/auth-provider-type.d.ts +1 -1
- package/dist-server/service/auth-provider/auth-provider-type.js +2 -2
- package/dist-server/service/auth-provider/auth-provider-type.js.map +1 -1
- package/dist-server/service/auth-provider/auth-provider.d.ts +3 -3
- package/dist-server/service/auth-provider/auth-provider.js +12 -12
- package/dist-server/service/auth-provider/auth-provider.js.map +1 -1
- package/dist-server/service/auth-provider/index.d.ts +3 -3
- package/dist-server/service/auth-provider/index.js +5 -5
- package/dist-server/service/auth-provider/index.js.map +1 -1
- package/dist-server/service/domain-generator/domain-generator-mutation.d.ts +1 -1
- package/dist-server/service/domain-generator/domain-generator-mutation.js +11 -11
- package/dist-server/service/domain-generator/domain-generator-mutation.js.map +1 -1
- package/dist-server/service/domain-generator/domain-generator-types.d.ts +1 -1
- package/dist-server/service/domain-generator/domain-generator-types.js +3 -3
- package/dist-server/service/domain-generator/domain-generator-types.js.map +1 -1
- package/dist-server/service/domain-generator/index.d.ts +1 -1
- package/dist-server/service/domain-generator/index.js +2 -2
- package/dist-server/service/domain-generator/index.js.map +1 -1
- package/dist-server/service/granted-role/granted-role-mutation.d.ts +3 -3
- package/dist-server/service/granted-role/granted-role-mutation.js +17 -17
- package/dist-server/service/granted-role/granted-role-mutation.js.map +1 -1
- package/dist-server/service/granted-role/granted-role-query.d.ts +2 -2
- package/dist-server/service/granted-role/granted-role-query.js +13 -13
- package/dist-server/service/granted-role/granted-role-query.js.map +1 -1
- package/dist-server/service/granted-role/granted-role.d.ts +1 -1
- package/dist-server/service/granted-role/granted-role.js +3 -3
- package/dist-server/service/granted-role/granted-role.js.map +1 -1
- package/dist-server/service/granted-role/index.d.ts +3 -3
- package/dist-server/service/granted-role/index.js +5 -5
- package/dist-server/service/granted-role/index.js.map +1 -1
- package/dist-server/service/index.d.ts +25 -25
- package/dist-server/service/index.js +70 -70
- package/dist-server/service/index.js.map +1 -1
- package/dist-server/service/invitation/index.d.ts +3 -3
- package/dist-server/service/invitation/index.js +5 -5
- package/dist-server/service/invitation/index.js.map +1 -1
- package/dist-server/service/invitation/invitation-mutation.d.ts +4 -3
- package/dist-server/service/invitation/invitation-mutation.js +26 -14
- package/dist-server/service/invitation/invitation-mutation.js.map +1 -1
- package/dist-server/service/invitation/invitation-query.d.ts +1 -1
- package/dist-server/service/invitation/invitation-query.js +7 -7
- package/dist-server/service/invitation/invitation-query.js.map +1 -1
- package/dist-server/service/invitation/invitation-types.d.ts +1 -1
- package/dist-server/service/invitation/invitation-types.js +2 -2
- package/dist-server/service/invitation/invitation-types.js.map +1 -1
- package/dist-server/service/invitation/invitation.d.ts +1 -1
- package/dist-server/service/invitation/invitation.js +5 -5
- package/dist-server/service/invitation/invitation.js.map +1 -1
- package/dist-server/service/login-history/index.d.ts +2 -2
- package/dist-server/service/login-history/index.js +4 -4
- package/dist-server/service/login-history/index.js.map +1 -1
- package/dist-server/service/login-history/login-history-query.d.ts +3 -3
- package/dist-server/service/login-history/login-history-query.js +11 -11
- package/dist-server/service/login-history/login-history-query.js.map +1 -1
- package/dist-server/service/login-history/login-history-type.d.ts +1 -1
- package/dist-server/service/login-history/login-history-type.js +2 -2
- package/dist-server/service/login-history/login-history-type.js.map +1 -1
- package/dist-server/service/login-history/login-history.d.ts +1 -1
- package/dist-server/service/login-history/login-history.js +4 -4
- package/dist-server/service/login-history/login-history.js.map +1 -1
- package/dist-server/service/partner/index.d.ts +3 -3
- package/dist-server/service/partner/index.js +5 -5
- package/dist-server/service/partner/index.js.map +1 -1
- package/dist-server/service/partner/partner-mutation.js +8 -8
- package/dist-server/service/partner/partner-mutation.js.map +1 -1
- package/dist-server/service/partner/partner-query.d.ts +3 -3
- package/dist-server/service/partner/partner-query.js +17 -17
- package/dist-server/service/partner/partner-query.js.map +1 -1
- package/dist-server/service/partner/partner-types.d.ts +1 -1
- package/dist-server/service/partner/partner-types.js +2 -2
- package/dist-server/service/partner/partner-types.js.map +1 -1
- package/dist-server/service/partner/partner.d.ts +1 -1
- package/dist-server/service/partner/partner.js +5 -5
- package/dist-server/service/partner/partner.js.map +1 -1
- package/dist-server/service/password-history/index.d.ts +1 -1
- package/dist-server/service/password-history/index.js +2 -2
- package/dist-server/service/password-history/index.js.map +1 -1
- package/dist-server/service/privilege/index.d.ts +3 -3
- package/dist-server/service/privilege/index.js +5 -5
- package/dist-server/service/privilege/index.js.map +1 -1
- package/dist-server/service/privilege/privilege-directive.js +2 -2
- package/dist-server/service/privilege/privilege-directive.js.map +1 -1
- package/dist-server/service/privilege/privilege-mutation.d.ts +2 -2
- package/dist-server/service/privilege/privilege-mutation.js +15 -15
- package/dist-server/service/privilege/privilege-mutation.js.map +1 -1
- package/dist-server/service/privilege/privilege-query.d.ts +4 -4
- package/dist-server/service/privilege/privilege-query.js +20 -20
- package/dist-server/service/privilege/privilege-query.js.map +1 -1
- package/dist-server/service/privilege/privilege-types.d.ts +1 -1
- package/dist-server/service/privilege/privilege-types.js +2 -2
- package/dist-server/service/privilege/privilege-types.js.map +1 -1
- package/dist-server/service/privilege/privilege.d.ts +2 -2
- package/dist-server/service/privilege/privilege.js +10 -10
- package/dist-server/service/privilege/privilege.js.map +1 -1
- package/dist-server/service/role/index.d.ts +3 -3
- package/dist-server/service/role/index.js +5 -5
- package/dist-server/service/role/index.js.map +1 -1
- package/dist-server/service/role/role-mutation.d.ts +2 -2
- package/dist-server/service/role/role-mutation.js +19 -19
- package/dist-server/service/role/role-mutation.js.map +1 -1
- package/dist-server/service/role/role-query.d.ts +4 -4
- package/dist-server/service/role/role-query.js +29 -29
- package/dist-server/service/role/role-query.js.map +1 -1
- package/dist-server/service/role/role-types.d.ts +1 -1
- package/dist-server/service/role/role-types.js +2 -2
- package/dist-server/service/role/role-types.js.map +1 -1
- package/dist-server/service/role/role.d.ts +2 -2
- package/dist-server/service/role/role.js +12 -12
- package/dist-server/service/role/role.js.map +1 -1
- package/dist-server/service/user/domain-query.d.ts +1 -1
- package/dist-server/service/user/domain-query.js +3 -3
- package/dist-server/service/user/domain-query.js.map +1 -1
- package/dist-server/service/user/index.d.ts +4 -4
- package/dist-server/service/user/index.js +6 -6
- package/dist-server/service/user/index.js.map +1 -1
- package/dist-server/service/user/user-mutation.d.ts +13 -12
- package/dist-server/service/user/user-mutation.js +141 -83
- package/dist-server/service/user/user-mutation.js.map +1 -1
- package/dist-server/service/user/user-query.d.ts +3 -3
- package/dist-server/service/user/user-query.js +21 -21
- package/dist-server/service/user/user-query.js.map +1 -1
- package/dist-server/service/user/user-types.d.ts +2 -1
- package/dist-server/service/user/user-types.js +6 -2
- package/dist-server/service/user/user-types.js.map +1 -1
- package/dist-server/service/user/user.d.ts +4 -3
- package/dist-server/service/user/user.js +80 -54
- package/dist-server/service/user/user.js.map +1 -1
- package/dist-server/service/users-auth-providers/index.d.ts +1 -1
- package/dist-server/service/users-auth-providers/index.js +2 -2
- package/dist-server/service/users-auth-providers/index.js.map +1 -1
- package/dist-server/service/users-auth-providers/users-auth-providers.d.ts +2 -2
- package/dist-server/service/users-auth-providers/users-auth-providers.js +8 -8
- package/dist-server/service/users-auth-providers/users-auth-providers.js.map +1 -1
- package/dist-server/service/verification-token/index.d.ts +1 -1
- package/dist-server/service/verification-token/index.js +2 -2
- package/dist-server/service/verification-token/index.js.map +1 -1
- package/dist-server/service/web-auth-credential/index.d.ts +1 -1
- package/dist-server/service/web-auth-credential/index.js +2 -2
- package/dist-server/service/web-auth-credential/index.js.map +1 -1
- package/dist-server/service/web-auth-credential/web-auth-credential.d.ts +1 -1
- package/dist-server/service/web-auth-credential/web-auth-credential.js +10 -10
- package/dist-server/service/web-auth-credential/web-auth-credential.js.map +1 -1
- package/dist-server/templates/account-unlock-email.d.ts +2 -1
- package/dist-server/templates/account-unlock-email.js +1 -1
- package/dist-server/templates/account-unlock-email.js.map +1 -1
- package/dist-server/templates/invitation-email.d.ts +2 -1
- package/dist-server/templates/invitation-email.js +1 -1
- package/dist-server/templates/invitation-email.js.map +1 -1
- package/dist-server/templates/verification-email.d.ts +2 -1
- package/dist-server/templates/verification-email.js +1 -1
- package/dist-server/templates/verification-email.js.map +1 -1
- package/dist-server/tsconfig.tsbuildinfo +1 -1
- package/dist-server/types.d.ts +1 -1
- package/dist-server/types.js.map +1 -1
- package/dist-server/utils/access-token-cookie.js +2 -2
- package/dist-server/utils/access-token-cookie.js.map +1 -1
- package/dist-server/utils/check-permission.d.ts +2 -2
- package/dist-server/utils/check-permission.js +3 -3
- package/dist-server/utils/check-permission.js.map +1 -1
- package/dist-server/utils/check-user-belongs-domain.d.ts +1 -1
- package/dist-server/utils/check-user-belongs-domain.js +2 -2
- package/dist-server/utils/check-user-belongs-domain.js.map +1 -1
- package/dist-server/utils/check-user-has-role.d.ts +1 -1
- package/dist-server/utils/check-user-has-role.js +2 -2
- package/dist-server/utils/check-user-has-role.js.map +1 -1
- package/dist-server/utils/get-domain-users.d.ts +1 -1
- package/dist-server/utils/get-domain-users.js +2 -2
- package/dist-server/utils/get-domain-users.js.map +1 -1
- package/dist-server/utils/get-user-domains.d.ts +1 -1
- package/dist-server/utils/get-user-domains.js +4 -4
- package/dist-server/utils/get-user-domains.js.map +1 -1
- package/helps/config/recaptcha.ja.md +49 -0
- package/helps/config/recaptcha.ko.md +49 -0
- package/helps/config/recaptcha.md +49 -0
- package/helps/config/recaptcha.ms.md +49 -0
- package/helps/config/recaptcha.zh.md +49 -0
- package/package.json +10 -9
- package/translations/en.json +5 -1
- package/translations/ja.json +5 -1
- package/translations/ko.json +6 -3
- package/translations/ms.json +5 -1
- package/translations/zh.json +5 -1
- package/client/actions/auth.ts +0 -24
- package/client/auth.ts +0 -272
- package/client/bootstrap.ts +0 -47
- package/client/directive/privileged.ts +0 -28
- package/client/index.ts +0 -3
- package/client/profiled.ts +0 -83
- package/client/reducers/auth.ts +0 -31
- package/server/constants/error-code.ts +0 -20
- package/server/constants/error-message.ts +0 -0
- package/server/constants/max-age.ts +0 -1
- package/server/controllers/auth.ts +0 -5
- package/server/controllers/change-pwd.ts +0 -99
- package/server/controllers/checkin.ts +0 -21
- package/server/controllers/delete-user.ts +0 -68
- package/server/controllers/invitation.ts +0 -132
- package/server/controllers/profile.ts +0 -28
- package/server/controllers/reset-password.ts +0 -126
- package/server/controllers/signin.ts +0 -79
- package/server/controllers/signup.ts +0 -60
- package/server/controllers/unlock-user.ts +0 -61
- package/server/controllers/utils/make-invitation-token.ts +0 -5
- package/server/controllers/utils/make-verification-token.ts +0 -4
- package/server/controllers/utils/password-rule.ts +0 -120
- package/server/controllers/utils/save-invitation-token.ts +0 -10
- package/server/controllers/utils/save-verification-token.ts +0 -12
- package/server/controllers/verification.ts +0 -83
- package/server/errors/auth-error.ts +0 -24
- package/server/errors/index.ts +0 -2
- package/server/errors/user-domain-not-match-error.ts +0 -29
- package/server/index.ts +0 -37
- package/server/middlewares/authenticate-401-middleware.ts +0 -114
- package/server/middlewares/domain-authenticate-middleware.ts +0 -78
- package/server/middlewares/graphql-authenticate-middleware.ts +0 -13
- package/server/middlewares/index.ts +0 -67
- package/server/middlewares/jwt-authenticate-middleware.ts +0 -84
- package/server/middlewares/signin-middleware.ts +0 -55
- package/server/middlewares/webauthn-middleware.ts +0 -127
- package/server/migrations/1548206416130-SeedUser.ts +0 -59
- package/server/migrations/1566805283882-SeedPrivilege.ts +0 -28
- package/server/migrations/index.ts +0 -9
- package/server/router/auth-checkin-router.ts +0 -107
- package/server/router/auth-private-process-router.ts +0 -107
- package/server/router/auth-public-process-router.ts +0 -302
- package/server/router/auth-signin-router.ts +0 -65
- package/server/router/auth-signup-router.ts +0 -95
- package/server/router/index.ts +0 -9
- package/server/router/oauth2/index.ts +0 -2
- package/server/router/oauth2/oauth2-authorize-router.ts +0 -81
- package/server/router/oauth2/oauth2-router.ts +0 -165
- package/server/router/oauth2/oauth2-server.ts +0 -262
- package/server/router/oauth2/passport-oauth2-client-password.ts +0 -87
- package/server/router/oauth2/passport-refresh-token.ts +0 -87
- package/server/router/path-base-domain-router.ts +0 -8
- package/server/router/site-root-router.ts +0 -48
- package/server/router/webauthn-router.ts +0 -87
- package/server/routes.ts +0 -80
- package/server/service/app-binding/app-binding-mutation.ts +0 -22
- package/server/service/app-binding/app-binding-query.ts +0 -92
- package/server/service/app-binding/app-binding-types.ts +0 -11
- package/server/service/app-binding/app-binding.ts +0 -17
- package/server/service/app-binding/index.ts +0 -4
- package/server/service/appliance/appliance-mutation.ts +0 -113
- package/server/service/appliance/appliance-query.ts +0 -76
- package/server/service/appliance/appliance-types.ts +0 -56
- package/server/service/appliance/appliance.ts +0 -133
- package/server/service/appliance/index.ts +0 -6
- package/server/service/application/application-mutation.ts +0 -104
- package/server/service/application/application-query.ts +0 -98
- package/server/service/application/application-types.ts +0 -76
- package/server/service/application/application.ts +0 -216
- package/server/service/application/index.ts +0 -6
- package/server/service/auth-provider/auth-provider-mutation.ts +0 -159
- package/server/service/auth-provider/auth-provider-parameter-spec.ts +0 -24
- package/server/service/auth-provider/auth-provider-query.ts +0 -88
- package/server/service/auth-provider/auth-provider-type.ts +0 -67
- package/server/service/auth-provider/auth-provider.ts +0 -155
- package/server/service/auth-provider/index.ts +0 -7
- package/server/service/domain-generator/domain-generator-mutation.ts +0 -117
- package/server/service/domain-generator/domain-generator-types.ts +0 -46
- package/server/service/domain-generator/index.ts +0 -3
- package/server/service/granted-role/granted-role-mutation.ts +0 -156
- package/server/service/granted-role/granted-role-query.ts +0 -60
- package/server/service/granted-role/granted-role.ts +0 -27
- package/server/service/granted-role/index.ts +0 -6
- package/server/service/index.ts +0 -90
- package/server/service/invitation/index.ts +0 -6
- package/server/service/invitation/invitation-mutation.ts +0 -63
- package/server/service/invitation/invitation-query.ts +0 -33
- package/server/service/invitation/invitation-types.ts +0 -11
- package/server/service/invitation/invitation.ts +0 -63
- package/server/service/login-history/index.ts +0 -5
- package/server/service/login-history/login-history-query.ts +0 -51
- package/server/service/login-history/login-history-type.ts +0 -12
- package/server/service/login-history/login-history.ts +0 -45
- package/server/service/partner/index.ts +0 -6
- package/server/service/partner/partner-mutation.ts +0 -61
- package/server/service/partner/partner-query.ts +0 -102
- package/server/service/partner/partner-types.ts +0 -11
- package/server/service/partner/partner.ts +0 -57
- package/server/service/password-history/index.ts +0 -3
- package/server/service/password-history/password-history.ts +0 -16
- package/server/service/privilege/index.ts +0 -6
- package/server/service/privilege/privilege-directive.ts +0 -77
- package/server/service/privilege/privilege-mutation.ts +0 -92
- package/server/service/privilege/privilege-query.ts +0 -94
- package/server/service/privilege/privilege-types.ts +0 -60
- package/server/service/privilege/privilege.ts +0 -102
- package/server/service/role/index.ts +0 -6
- package/server/service/role/role-mutation.ts +0 -109
- package/server/service/role/role-query.ts +0 -155
- package/server/service/role/role-types.ts +0 -81
- package/server/service/role/role.ts +0 -72
- package/server/service/user/domain-query.ts +0 -24
- package/server/service/user/index.ts +0 -7
- package/server/service/user/user-mutation.ts +0 -413
- package/server/service/user/user-query.ts +0 -145
- package/server/service/user/user-types.ts +0 -97
- package/server/service/user/user.ts +0 -354
- package/server/service/users-auth-providers/index.ts +0 -5
- package/server/service/users-auth-providers/users-auth-providers.ts +0 -71
- package/server/service/verification-token/index.ts +0 -3
- package/server/service/verification-token/verification-token.ts +0 -60
- package/server/service/web-auth-credential/index.ts +0 -3
- package/server/service/web-auth-credential/web-auth-credential.ts +0 -67
- package/server/templates/account-unlock-email.ts +0 -65
- package/server/templates/invitation-email.ts +0 -66
- package/server/templates/reset-password-email.ts +0 -65
- package/server/templates/verification-email.ts +0 -66
- package/server/types.ts +0 -21
- package/server/utils/accepts.ts +0 -11
- package/server/utils/access-token-cookie.ts +0 -61
- package/server/utils/check-permission.ts +0 -52
- package/server/utils/check-user-belongs-domain.ts +0 -19
- package/server/utils/check-user-has-role.ts +0 -29
- package/server/utils/encrypt-state.ts +0 -22
- package/server/utils/get-aes-256-key.ts +0 -13
- package/server/utils/get-domain-from-hostname.ts +0 -7
- package/server/utils/get-domain-users.ts +0 -38
- package/server/utils/get-secret.ts +0 -13
- package/server/utils/get-user-domains.ts +0 -112
@@ -6,22 +6,23 @@ exports.resendVerificationEmail = resendVerificationEmail;
|
|
6
6
|
const url_1 = require("url");
|
7
7
|
const email_base_1 = require("@things-factory/email-base");
|
8
8
|
const shell_1 = require("@things-factory/shell");
|
9
|
-
const
|
10
|
-
const
|
11
|
-
const
|
12
|
-
const
|
13
|
-
const
|
14
|
-
const
|
9
|
+
const auth_error_js_1 = require("../errors/auth-error.js");
|
10
|
+
const user_js_1 = require("../service/user/user.js");
|
11
|
+
const verification_token_js_1 = require("../service/verification-token/verification-token.js");
|
12
|
+
const verification_email_js_1 = require("../templates/verification-email.js");
|
13
|
+
const make_verification_token_js_1 = require("./utils/make-verification-token.js");
|
14
|
+
const save_verification_token_js_1 = require("./utils/save-verification-token.js");
|
15
15
|
async function sendVerificationEmail({ user, context }) {
|
16
16
|
try {
|
17
|
-
var token = (0,
|
18
|
-
var verifaction = await (0,
|
17
|
+
var token = (0, make_verification_token_js_1.makeVerificationToken)();
|
18
|
+
var verifaction = await (0, save_verification_token_js_1.saveVerificationToken)(user.id, token);
|
19
19
|
if (verifaction) {
|
20
20
|
var serviceUrl = new url_1.URL(`/auth/verify/${token}`, context.header.referer);
|
21
21
|
await (0, email_base_1.sendEmail)({
|
22
22
|
receiver: user.email,
|
23
23
|
subject: 'Verify your email',
|
24
|
-
content: (0,
|
24
|
+
content: (0, verification_email_js_1.getVerificationEmailForm)({
|
25
|
+
username: user.username,
|
25
26
|
name: user.name,
|
26
27
|
verifyUrl: serviceUrl
|
27
28
|
})
|
@@ -34,41 +35,41 @@ async function sendVerificationEmail({ user, context }) {
|
|
34
35
|
}
|
35
36
|
}
|
36
37
|
async function verify(token) {
|
37
|
-
var verification = await (0, shell_1.getRepository)(
|
38
|
+
var verification = await (0, shell_1.getRepository)(verification_token_js_1.VerificationToken).findOne({
|
38
39
|
where: {
|
39
40
|
token
|
40
41
|
}
|
41
42
|
});
|
42
43
|
if (!verification) {
|
43
|
-
throw new
|
44
|
-
errorCode:
|
44
|
+
throw new auth_error_js_1.AuthError({
|
45
|
+
errorCode: auth_error_js_1.AuthError.ERROR_CODES.VERIFICATION_ERROR
|
45
46
|
});
|
46
47
|
}
|
47
|
-
var userInfo = await (0, shell_1.getRepository)(
|
48
|
+
var userInfo = await (0, shell_1.getRepository)(user_js_1.User).findOneBy({ id: verification.userId });
|
48
49
|
if (!userInfo) {
|
49
|
-
throw new
|
50
|
-
errorCode:
|
50
|
+
throw new auth_error_js_1.AuthError({
|
51
|
+
errorCode: auth_error_js_1.AuthError.ERROR_CODES.VERIFICATION_ERROR
|
51
52
|
});
|
52
53
|
}
|
53
|
-
if (!(userInfo.status ==
|
54
|
-
throw new
|
55
|
-
errorCode:
|
54
|
+
if (!(userInfo.status == user_js_1.UserStatus.INACTIVE || userInfo.status == user_js_1.UserStatus.LOCKED)) {
|
55
|
+
throw new auth_error_js_1.AuthError({
|
56
|
+
errorCode: auth_error_js_1.AuthError.ERROR_CODES.VERIFICATION_ERROR
|
56
57
|
});
|
57
58
|
}
|
58
|
-
userInfo.status =
|
59
|
+
userInfo.status = user_js_1.UserStatus.ACTIVATED;
|
59
60
|
userInfo.failCount = 0;
|
60
|
-
await (0, shell_1.getRepository)(
|
61
|
-
await (0, shell_1.getRepository)(
|
61
|
+
await (0, shell_1.getRepository)(user_js_1.User).save(userInfo);
|
62
|
+
await (0, shell_1.getRepository)(verification_token_js_1.VerificationToken).delete(verification);
|
62
63
|
}
|
63
64
|
async function resendVerificationEmail(email, context) {
|
64
|
-
var user = await (0, shell_1.getRepository)(
|
65
|
+
var user = await (0, shell_1.getRepository)(user_js_1.User).findOne({
|
65
66
|
where: {
|
66
67
|
email
|
67
68
|
}
|
68
69
|
});
|
69
70
|
if (!user)
|
70
71
|
return false;
|
71
|
-
if (user.status ==
|
72
|
+
if (user.status == user_js_1.UserStatus.ACTIVATED)
|
72
73
|
return false;
|
73
74
|
return await sendVerificationEmail({
|
74
75
|
user,
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"verification.js","sourceRoot":"","sources":["../../server/controllers/verification.ts"],"names":[],"mappings":";;AAYA,
|
1
|
+
{"version":3,"file":"verification.js","sourceRoot":"","sources":["../../server/controllers/verification.ts"],"names":[],"mappings":"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","sourcesContent":["import { URL } from 'url'\n\nimport { sendEmail } from '@things-factory/email-base'\nimport { getRepository } from '@things-factory/shell'\n\nimport { AuthError } from '../errors/auth-error.js'\nimport { User, UserStatus } from '../service/user/user.js'\nimport { VerificationToken } from '../service/verification-token/verification-token.js'\nimport { getVerificationEmailForm } from '../templates/verification-email.js'\nimport { makeVerificationToken } from './utils/make-verification-token.js'\nimport { saveVerificationToken } from './utils/save-verification-token.js'\n\nexport async function sendVerificationEmail({ user, context }) {\n try {\n var token = makeVerificationToken()\n var verifaction = await saveVerificationToken(user.id, token)\n\n if (verifaction) {\n var serviceUrl = new URL(`/auth/verify/${token}`, context.header.referer)\n await sendEmail({\n receiver: user.email,\n subject: 'Verify your email',\n content: getVerificationEmailForm({\n username: user.username,\n name: user.name,\n verifyUrl: serviceUrl\n })\n })\n\n return true\n }\n } catch (e) {\n return false\n }\n}\n\nexport async function verify(token) {\n var verification = await getRepository(VerificationToken).findOne({\n where: {\n token\n }\n })\n\n if (!verification) {\n throw new AuthError({\n errorCode: AuthError.ERROR_CODES.VERIFICATION_ERROR\n })\n }\n\n var userInfo = await getRepository(User).findOneBy({ id: verification.userId })\n if (!userInfo) {\n throw new AuthError({\n errorCode: AuthError.ERROR_CODES.VERIFICATION_ERROR\n })\n }\n\n if (!(userInfo.status == UserStatus.INACTIVE || userInfo.status == UserStatus.LOCKED)) {\n throw new AuthError({\n errorCode: AuthError.ERROR_CODES.VERIFICATION_ERROR\n })\n }\n\n userInfo.status = UserStatus.ACTIVATED\n userInfo.failCount = 0\n\n await getRepository(User).save(userInfo)\n await getRepository(VerificationToken).delete(verification)\n}\n\nexport async function resendVerificationEmail(email, context) {\n var user = await getRepository(User).findOne({\n where: {\n email\n }\n })\n\n if (!user) return false\n if (user.status == UserStatus.ACTIVATED) return false\n\n return await sendVerificationEmail({\n user,\n context\n })\n}\n"]}
|
@@ -2,7 +2,7 @@
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
3
|
exports.AuthError = void 0;
|
4
4
|
const tslib_1 = require("tslib");
|
5
|
-
const ERROR_CODES = tslib_1.__importStar(require("../constants/error-code"));
|
5
|
+
const ERROR_CODES = tslib_1.__importStar(require("../constants/error-code.js"));
|
6
6
|
class AuthError extends Error {
|
7
7
|
static get ERROR_CODES() {
|
8
8
|
return Object.assign({}, ERROR_CODES);
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"auth-error.js","sourceRoot":"","sources":["../../server/errors/auth-error.ts"],"names":[],"mappings":";;;;AAAA,
|
1
|
+
{"version":3,"file":"auth-error.js","sourceRoot":"","sources":["../../server/errors/auth-error.ts"],"names":[],"mappings":";;;;AAAA,gFAAyD;AAMzD,MAAa,SAAU,SAAQ,KAAK;IAClC,MAAM,KAAK,WAAW;QACpB,yBACK,WAAW,EACf;IACH,CAAC;IAKD,YAAY,EAAE,SAAS,EAAE,MAAM,EAAqB;QAClD,KAAK,CAAC,SAAS,CAAC,CAAA;QAEhB,IAAI,CAAC,IAAI,GAAG,YAAY,CAAA;QACxB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAA;QAC1B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;IACtB,CAAC;CACF;AAjBD,8BAiBC","sourcesContent":["import * as ERROR_CODES from '../constants/error-code.js'\n\ntype AuthErrorArgument = {\n errorCode: string\n detail?: Object\n}\nexport class AuthError extends Error {\n static get ERROR_CODES(): any {\n return {\n ...ERROR_CODES\n }\n }\n\n errorCode: any\n detail: Object\n\n constructor({ errorCode, detail }: AuthErrorArgument) {\n super(errorCode)\n\n this.name = 'auth-error'\n this.errorCode = errorCode\n this.detail = detail\n }\n}\n"]}
|
@@ -1,2 +1,2 @@
|
|
1
|
-
export * from './auth-error';
|
2
|
-
export * from './user-domain-not-match-error';
|
1
|
+
export * from './auth-error.js';
|
2
|
+
export * from './user-domain-not-match-error.js';
|
@@ -1,6 +1,6 @@
|
|
1
1
|
"use strict";
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
3
|
const tslib_1 = require("tslib");
|
4
|
-
tslib_1.__exportStar(require("./auth-error"), exports);
|
5
|
-
tslib_1.__exportStar(require("./user-domain-not-match-error"), exports);
|
4
|
+
tslib_1.__exportStar(require("./auth-error.js"), exports);
|
5
|
+
tslib_1.__exportStar(require("./user-domain-not-match-error.js"), exports);
|
6
6
|
//# sourceMappingURL=index.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../server/errors/index.ts"],"names":[],"mappings":";;;AAAA,
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../server/errors/index.ts"],"names":[],"mappings":";;;AAAA,0DAA+B;AAC/B,2EAAgD","sourcesContent":["export * from './auth-error.js'\nexport * from './user-domain-not-match-error.js'\n"]}
|
@@ -1,18 +1,18 @@
|
|
1
1
|
"use strict";
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
3
|
exports.DomainError = void 0;
|
4
|
-
const
|
5
|
-
const
|
6
|
-
class DomainError extends
|
4
|
+
const error_code_js_1 = require("../constants/error-code.js");
|
5
|
+
const auth_error_js_1 = require("./auth-error.js");
|
6
|
+
class DomainError extends auth_error_js_1.AuthError {
|
7
7
|
static get ERROR_CODES() {
|
8
8
|
return {
|
9
|
-
UNAVAILABLE_DOMAIN:
|
10
|
-
NO_AVAILABLE_DOMAIN:
|
11
|
-
NO_SELECTED_DOMAIN:
|
12
|
-
REDIRECT_TO_DEFAULT_DOMAIN:
|
9
|
+
UNAVAILABLE_DOMAIN: error_code_js_1.UNAVAILABLE_DOMAIN,
|
10
|
+
NO_AVAILABLE_DOMAIN: error_code_js_1.NO_AVAILABLE_DOMAIN,
|
11
|
+
NO_SELECTED_DOMAIN: error_code_js_1.NO_SELECTED_DOMAIN,
|
12
|
+
REDIRECT_TO_DEFAULT_DOMAIN: error_code_js_1.REDIRECT_TO_DEFAULT_DOMAIN
|
13
13
|
};
|
14
14
|
}
|
15
|
-
constructor({ errorCode =
|
15
|
+
constructor({ errorCode = error_code_js_1.UNAVAILABLE_DOMAIN, domains }) {
|
16
16
|
super({
|
17
17
|
errorCode
|
18
18
|
});
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"user-domain-not-match-error.js","sourceRoot":"","sources":["../../server/errors/user-domain-not-match-error.ts"],"names":[],"mappings":";;;AAAA,
|
1
|
+
{"version":3,"file":"user-domain-not-match-error.js","sourceRoot":"","sources":["../../server/errors/user-domain-not-match-error.ts"],"names":[],"mappings":";;;AAAA,8DAKmC;AACnC,mDAA2C;AAE3C,MAAa,WAAY,SAAQ,yBAAS;IACxC,MAAM,KAAK,WAAW;QACpB,OAAO;YACL,kBAAkB,EAAlB,kCAAkB;YAClB,mBAAmB,EAAnB,mCAAmB;YACnB,kBAAkB,EAAlB,kCAAkB;YAClB,0BAA0B,EAA1B,0CAA0B;SAC3B,CAAA;IACH,CAAC;IAID,YAAY,EAAE,SAAS,GAAG,kCAAkB,EAAE,OAAO,EAAE;QACrD,KAAK,CAAC;YACJ,SAAS;SACV,CAAC,CAAA;QAEF,IAAI,CAAC,IAAI,GAAG,uBAAuB,CAAA;QACnC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;IACxB,CAAC;CACF;AApBD,kCAoBC","sourcesContent":["import {\n NO_AVAILABLE_DOMAIN,\n NO_SELECTED_DOMAIN,\n REDIRECT_TO_DEFAULT_DOMAIN,\n UNAVAILABLE_DOMAIN\n} from '../constants/error-code.js'\nimport { AuthError } from './auth-error.js'\n\nexport class DomainError extends AuthError {\n static get ERROR_CODES(): any {\n return {\n UNAVAILABLE_DOMAIN,\n NO_AVAILABLE_DOMAIN,\n NO_SELECTED_DOMAIN,\n REDIRECT_TO_DEFAULT_DOMAIN\n }\n }\n\n domains: any\n\n constructor({ errorCode = UNAVAILABLE_DOMAIN, domains }) {\n super({\n errorCode\n })\n\n this.name = 'user-domain-not-match'\n this.domains = domains\n }\n}\n"]}
|
package/dist-server/index.d.ts
CHANGED
@@ -1,16 +1,16 @@
|
|
1
|
-
import './routes';
|
2
|
-
export * from './service';
|
3
|
-
export * from './migrations';
|
4
|
-
export * from './middlewares';
|
5
|
-
export * from './
|
6
|
-
export * from './
|
7
|
-
export * from './utils/get-domain-users';
|
8
|
-
export * from './utils/get-user-domains';
|
9
|
-
export * from './utils/get-secret';
|
10
|
-
export * from './utils/check-user-belongs-domain';
|
11
|
-
export * from './utils/access-token-cookie';
|
12
|
-
export * from './utils/encrypt-state';
|
13
|
-
export * from './utils/check-permission';
|
14
|
-
export * from './utils/check-user-has-role';
|
15
|
-
export * from './errors';
|
16
|
-
export * from './types';
|
1
|
+
import './routes.js';
|
2
|
+
export * from './service/index.js';
|
3
|
+
export * from './migrations/index.js';
|
4
|
+
export * from './middlewares/index.js';
|
5
|
+
export * from './router/index.js';
|
6
|
+
export * from './routes.js';
|
7
|
+
export * from './utils/get-domain-users.js';
|
8
|
+
export * from './utils/get-user-domains.js';
|
9
|
+
export * from './utils/get-secret.js';
|
10
|
+
export * from './utils/check-user-belongs-domain.js';
|
11
|
+
export * from './utils/access-token-cookie.js';
|
12
|
+
export * from './utils/encrypt-state.js';
|
13
|
+
export * from './utils/check-permission.js';
|
14
|
+
export * from './utils/check-user-has-role.js';
|
15
|
+
export * from './errors/index.js';
|
16
|
+
export * from './types.js';
|
package/dist-server/index.js
CHANGED
@@ -2,26 +2,26 @@
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
3
|
const tslib_1 = require("tslib");
|
4
4
|
const shell_1 = require("@things-factory/shell");
|
5
|
-
const
|
6
|
-
require("./routes");
|
7
|
-
tslib_1.__exportStar(require("./service"), exports);
|
8
|
-
tslib_1.__exportStar(require("./migrations"), exports);
|
9
|
-
tslib_1.__exportStar(require("./middlewares"), exports);
|
10
|
-
tslib_1.__exportStar(require("./
|
11
|
-
tslib_1.__exportStar(require("./
|
12
|
-
tslib_1.__exportStar(require("./utils/get-domain-users"), exports);
|
13
|
-
tslib_1.__exportStar(require("./utils/get-user-domains"), exports);
|
14
|
-
tslib_1.__exportStar(require("./utils/get-secret"), exports);
|
15
|
-
tslib_1.__exportStar(require("./utils/check-user-belongs-domain"), exports);
|
16
|
-
tslib_1.__exportStar(require("./utils/access-token-cookie"), exports);
|
17
|
-
tslib_1.__exportStar(require("./utils/encrypt-state"), exports);
|
18
|
-
tslib_1.__exportStar(require("./utils/check-permission"), exports);
|
19
|
-
tslib_1.__exportStar(require("./utils/check-user-has-role"), exports);
|
20
|
-
tslib_1.__exportStar(require("./errors"), exports);
|
21
|
-
tslib_1.__exportStar(require("./types"), exports);
|
5
|
+
const privilege_js_1 = require("./service/privilege/privilege.js");
|
6
|
+
require("./routes.js");
|
7
|
+
tslib_1.__exportStar(require("./service/index.js"), exports);
|
8
|
+
tslib_1.__exportStar(require("./migrations/index.js"), exports);
|
9
|
+
tslib_1.__exportStar(require("./middlewares/index.js"), exports);
|
10
|
+
tslib_1.__exportStar(require("./router/index.js"), exports);
|
11
|
+
tslib_1.__exportStar(require("./routes.js"), exports);
|
12
|
+
tslib_1.__exportStar(require("./utils/get-domain-users.js"), exports);
|
13
|
+
tslib_1.__exportStar(require("./utils/get-user-domains.js"), exports);
|
14
|
+
tslib_1.__exportStar(require("./utils/get-secret.js"), exports);
|
15
|
+
tslib_1.__exportStar(require("./utils/check-user-belongs-domain.js"), exports);
|
16
|
+
tslib_1.__exportStar(require("./utils/access-token-cookie.js"), exports);
|
17
|
+
tslib_1.__exportStar(require("./utils/encrypt-state.js"), exports);
|
18
|
+
tslib_1.__exportStar(require("./utils/check-permission.js"), exports);
|
19
|
+
tslib_1.__exportStar(require("./utils/check-user-has-role.js"), exports);
|
20
|
+
tslib_1.__exportStar(require("./errors/index.js"), exports);
|
21
|
+
tslib_1.__exportStar(require("./types.js"), exports);
|
22
22
|
process.on('bootstrap-module-start', async ({ app, config, client }) => {
|
23
23
|
const privileges = process['PRIVILEGES'];
|
24
|
-
const privilegeRepository = (0, shell_1.getRepository)(
|
24
|
+
const privilegeRepository = (0, shell_1.getRepository)(privilege_js_1.Privilege);
|
25
25
|
for (const [category, name] of Object.values(privileges)) {
|
26
26
|
if (0 == (await privilegeRepository.count({ where: { category, name } }))) {
|
27
27
|
await privilegeRepository.save({ category, name });
|
package/dist-server/index.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../server/index.ts"],"names":[],"mappings":";;;AAAA,iDAAqD;AACrD,
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../server/index.ts"],"names":[],"mappings":";;;AAAA,iDAAqD;AACrD,mEAA4D;AAE5D,uBAAoB;AAEpB,6DAAkC;AAClC,gEAAqC;AAErC,iEAAsC;AACtC,4DAAiC;AACjC,sDAA2B;AAE3B,sEAA2C;AAC3C,sEAA2C;AAC3C,gEAAqC;AACrC,+EAAoD;AACpD,yEAA8C;AAC9C,mEAAwC;AACxC,sEAA2C;AAC3C,yEAA8C;AAE9C,4DAAiC;AAEjC,qDAA0B;AAE1B,OAAO,CAAC,EAAE,CAAC,wBAA+B,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAO,EAAE,EAAE;IACjF,MAAM,UAAU,GAAG,OAAO,CAAC,YAAY,CAAC,CAAA;IACxC,MAAM,mBAAmB,GAAG,IAAA,qBAAa,EAAC,wBAAS,CAAC,CAAA;IAEpD,KAAK,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,UAA8B,CAAC,EAAE,CAAC;QAC7E,IAAI,CAAC,IAAI,CAAC,MAAM,mBAAmB,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC;YAC1E,MAAM,mBAAmB,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAA;QACpD,CAAC;IACH,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,2EAA2E,CAAC,CAAA;AAC1F,CAAC,CAAC,CAAA","sourcesContent":["import { getRepository } from '@things-factory/shell'\nimport { Privilege } from './service/privilege/privilege.js'\n\nimport './routes.js'\n\nexport * from './service/index.js'\nexport * from './migrations/index.js'\n\nexport * from './middlewares/index.js'\nexport * from './router/index.js'\nexport * from './routes.js'\n\nexport * from './utils/get-domain-users.js'\nexport * from './utils/get-user-domains.js'\nexport * from './utils/get-secret.js'\nexport * from './utils/check-user-belongs-domain.js'\nexport * from './utils/access-token-cookie.js'\nexport * from './utils/encrypt-state.js'\nexport * from './utils/check-permission.js'\nexport * from './utils/check-user-has-role.js'\n\nexport * from './errors/index.js'\n\nexport * from './types.js'\n\nprocess.on('bootstrap-module-start' as any, async ({ app, config, client }: any) => {\n const privileges = process['PRIVILEGES']\n const privilegeRepository = getRepository(Privilege)\n\n for (const [category, name] of Object.values(privileges as [string, string])) {\n if (0 == (await privilegeRepository.count({ where: { category, name } }))) {\n await privilegeRepository.save({ category, name })\n }\n }\n\n console.log('[auth-base:bootstrap] Synchronization for privilege master has just done.')\n})\n"]}
|
@@ -2,9 +2,9 @@
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
3
|
exports.authenticate401Middleware = authenticate401Middleware;
|
4
4
|
const env_1 = require("@things-factory/env");
|
5
|
-
const
|
6
|
-
const
|
7
|
-
const
|
5
|
+
const error_code_js_1 = require("../constants/error-code.js");
|
6
|
+
const auth_error_js_1 = require("../errors/auth-error.js");
|
7
|
+
const accepts_js_1 = require("../utils/accepts.js");
|
8
8
|
const disableUserSignupProcess = env_1.config.get('disableUserSignupProcess', false);
|
9
9
|
const disableUserFavoredLanguage = env_1.config.get('i18n/disableUserFavoredLanguage', false);
|
10
10
|
const languages = env_1.config.get('i18n/languages', false);
|
@@ -14,7 +14,7 @@ async function authenticate401Middleware(context, next) {
|
|
14
14
|
}
|
15
15
|
catch (err) {
|
16
16
|
var message;
|
17
|
-
if (err instanceof
|
17
|
+
if (err instanceof auth_error_js_1.AuthError) {
|
18
18
|
message = (context.t && context.t(`error.${err.errorCode}`, err.detail || {})) || err.errorCode;
|
19
19
|
}
|
20
20
|
else {
|
@@ -32,21 +32,21 @@ async function authenticate401Middleware(context, next) {
|
|
32
32
|
*/
|
33
33
|
const { method, header, path, originalUrl } = context;
|
34
34
|
if (method == 'POST' && path.startsWith('/graphql')) {
|
35
|
-
if (err.errorCode ==
|
35
|
+
if (err.errorCode == error_code_js_1.SUBDOMAIN_NOTFOUND) {
|
36
36
|
context.status = 403;
|
37
37
|
}
|
38
38
|
return;
|
39
39
|
}
|
40
|
-
if (!(0,
|
40
|
+
if (!(0, accepts_js_1.accepts)(header.accept, ['text/html', '*/*'])) {
|
41
41
|
return;
|
42
42
|
}
|
43
43
|
const { redirect_to } = context.query;
|
44
44
|
const { redirectTo = redirect_to || originalUrl } = context.request.body || {};
|
45
45
|
switch (err.errorCode) {
|
46
|
-
case
|
46
|
+
case error_code_js_1.SUBDOMAIN_NOTFOUND:
|
47
47
|
context.redirect(`/auth/checkin?redirect_to=${encodeURIComponent(redirectTo)}`);
|
48
48
|
break;
|
49
|
-
case
|
49
|
+
case error_code_js_1.USER_LOCKED:
|
50
50
|
return await context.render('auth-page', {
|
51
51
|
pageElement: 'auth-activate',
|
52
52
|
elementScript: '/auth/activate.js',
|
@@ -56,7 +56,7 @@ async function authenticate401Middleware(context, next) {
|
|
56
56
|
disableUserFavoredLanguage,
|
57
57
|
languages })
|
58
58
|
});
|
59
|
-
case
|
59
|
+
case error_code_js_1.USER_NOT_ACTIVATED:
|
60
60
|
return await context.render('auth-page', {
|
61
61
|
pageElement: 'auth-activate',
|
62
62
|
elementScript: '/auth/activate.js',
|
@@ -66,7 +66,7 @@ async function authenticate401Middleware(context, next) {
|
|
66
66
|
disableUserFavoredLanguage,
|
67
67
|
languages })
|
68
68
|
});
|
69
|
-
case
|
69
|
+
case error_code_js_1.USER_DUPLICATED:
|
70
70
|
return await context.render('auth-page', {
|
71
71
|
pageElement: 'auth-signup',
|
72
72
|
elementScript: '/auth/signup.js',
|
@@ -80,7 +80,7 @@ async function authenticate401Middleware(context, next) {
|
|
80
80
|
return await context.render('auth-page', {
|
81
81
|
pageElement: 'auth-signin',
|
82
82
|
elementScript: '/auth/signin.js',
|
83
|
-
data: Object.assign(Object.assign({}, err.detail), { message: err instanceof
|
83
|
+
data: Object.assign(Object.assign({}, err.detail), { message: err instanceof auth_error_js_1.AuthError ? message : '', redirectTo,
|
84
84
|
disableUserSignupProcess,
|
85
85
|
disableUserFavoredLanguage,
|
86
86
|
languages })
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"authenticate-401-middleware.js","sourceRoot":"","sources":["../../server/middlewares/authenticate-401-middleware.ts"],"names":[],"mappings":";;AAUA,8DAuGC;AAjHD,6CAA4C;AAE5C,
|
1
|
+
{"version":3,"file":"authenticate-401-middleware.js","sourceRoot":"","sources":["../../server/middlewares/authenticate-401-middleware.ts"],"names":[],"mappings":"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","sourcesContent":["import { config } from '@things-factory/env'\n\nimport { SUBDOMAIN_NOTFOUND, USER_DUPLICATED, USER_LOCKED, USER_NOT_ACTIVATED } from '../constants/error-code.js'\nimport { AuthError } from '../errors/auth-error.js'\nimport { accepts } from '../utils/accepts.js'\n\nconst disableUserSignupProcess = config.get('disableUserSignupProcess', false)\nconst disableUserFavoredLanguage = config.get('i18n/disableUserFavoredLanguage', false)\nconst languages = config.get('i18n/languages', false)\n\nexport async function authenticate401Middleware(context, next) {\n try {\n await next()\n } catch (err) {\n var message\n\n if (err instanceof AuthError) {\n message = (context.t && context.t(`error.${err.errorCode}`, err.detail || {})) || err.errorCode\n } else {\n if (err?.status !== 401) {\n throw err\n }\n\n message = err.message\n }\n\n context.status = 401\n context.body = message\n\n /*\n * 클라이언트 라우팅을 위한 ApiHistoryFallback의 상황과,\n * 서버라우팅의 상황에서 발생하는 던져지는 401 에러인 경우에는\n * error code에 맞춰서 적절하게 rewriting 되도록 한다.\n */\n\n const { method, header, path, originalUrl } = context\n\n if (method == 'POST' && path.startsWith('/graphql')) {\n if (err.errorCode == SUBDOMAIN_NOTFOUND) {\n context.status = 403\n }\n return\n }\n\n if (!accepts(header.accept, ['text/html', '*/*'])) {\n return\n }\n\n const { redirect_to } = context.query\n const { redirectTo = redirect_to || originalUrl } = context.request.body || {}\n\n switch (err.errorCode) {\n case SUBDOMAIN_NOTFOUND:\n context.redirect(`/auth/checkin?redirect_to=${encodeURIComponent(redirectTo)}`)\n break\n\n case USER_LOCKED:\n return await context.render('auth-page', {\n pageElement: 'auth-activate',\n elementScript: '/auth/activate.js',\n data: {\n ...err.detail,\n message,\n redirectTo,\n disableUserSignupProcess,\n disableUserFavoredLanguage,\n languages\n }\n })\n\n case USER_NOT_ACTIVATED:\n return await context.render('auth-page', {\n pageElement: 'auth-activate',\n elementScript: '/auth/activate.js',\n data: {\n ...err.detail,\n message,\n redirectTo,\n disableUserSignupProcess,\n disableUserFavoredLanguage,\n languages\n }\n })\n\n case USER_DUPLICATED:\n return await context.render('auth-page', {\n pageElement: 'auth-signup',\n elementScript: '/auth/signup.js',\n data: {\n ...err.detail,\n message,\n redirectTo,\n disableUserSignupProcess,\n disableUserFavoredLanguage,\n languages\n }\n })\n\n default:\n return await context.render('auth-page', {\n pageElement: 'auth-signin',\n elementScript: '/auth/signin.js',\n data: {\n ...err.detail,\n message: err instanceof AuthError ? message : '',\n redirectTo,\n disableUserSignupProcess,\n disableUserFavoredLanguage,\n languages\n }\n })\n }\n }\n}\n"]}
|
@@ -3,9 +3,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.domainAuthenticateMiddleware = domainAuthenticateMiddleware;
|
4
4
|
const env_1 = require("@things-factory/env");
|
5
5
|
const shell_1 = require("@things-factory/shell");
|
6
|
-
const
|
7
|
-
const
|
8
|
-
const
|
6
|
+
const auth_error_js_1 = require("../errors/auth-error.js");
|
7
|
+
const user_js_1 = require("../service/user/user.js");
|
8
|
+
const get_user_domains_js_1 = require("../utils/get-user-domains.js");
|
9
9
|
const useVirtualHostBasedDomain = !!env_1.config.get('useVirtualHostBasedDomain');
|
10
10
|
const fixed = env_1.config.get('subdomain');
|
11
11
|
const subdomainOffset = env_1.config.getNumber('subdomainOffset', 2);
|
@@ -17,7 +17,7 @@ process.superUserGranted = async (domain, user) => {
|
|
17
17
|
return false;
|
18
18
|
}
|
19
19
|
if (!user.domains.length) {
|
20
|
-
user = await (0, shell_1.getRepository)(
|
20
|
+
user = await (0, shell_1.getRepository)(user_js_1.User).findOne({
|
21
21
|
where: { id: user.id },
|
22
22
|
relations: ['domains']
|
23
23
|
});
|
@@ -44,17 +44,17 @@ async function domainAuthenticateMiddleware(context, next) {
|
|
44
44
|
// 1. 현재 subdomain 이 결정되지 않은 경우.
|
45
45
|
// - checkin로 이동한다.
|
46
46
|
if (!subdomain) {
|
47
|
-
throw new
|
48
|
-
errorCode:
|
47
|
+
throw new auth_error_js_1.AuthError({
|
48
|
+
errorCode: auth_error_js_1.AuthError.ERROR_CODES.SUBDOMAIN_NOTFOUND
|
49
49
|
});
|
50
50
|
}
|
51
51
|
// 2. 현재 subdomain 이 결정된 경우.
|
52
|
-
const userDomains = await (0,
|
52
|
+
const userDomains = await (0, get_user_domains_js_1.getUserDomains)(user);
|
53
53
|
if (userDomains.find(domain => domain.subdomain == subdomain) || (await process.superUserGranted(domain, user))) {
|
54
54
|
return await next();
|
55
55
|
}
|
56
|
-
throw new
|
57
|
-
errorCode:
|
56
|
+
throw new auth_error_js_1.AuthError({
|
57
|
+
errorCode: auth_error_js_1.AuthError.ERROR_CODES.SUBDOMAIN_NOTFOUND
|
58
58
|
});
|
59
59
|
}
|
60
60
|
//# sourceMappingURL=domain-authenticate-middleware.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"domain-authenticate-middleware.js","sourceRoot":"","sources":["../../server/middlewares/domain-authenticate-middleware.ts"],"names":[],"mappings":";;AAsDA,oEAuBC;AA7ED,6CAA4C;AAC5C,iDAA6D;AAE7D,
|
1
|
+
{"version":3,"file":"domain-authenticate-middleware.js","sourceRoot":"","sources":["../../server/middlewares/domain-authenticate-middleware.ts"],"names":[],"mappings":";;AAsDA,oEAuBC;AA7ED,6CAA4C;AAC5C,iDAA6D;AAE7D,2DAAmD;AACnD,qDAA8C;AAC9C,sEAA6D;AAE7D,MAAM,yBAAyB,GAAG,CAAC,CAAC,YAAM,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAA;AAC3E,MAAM,KAAK,GAAG,YAAM,CAAC,GAAG,CAAC,WAAW,CAAC,CAAA;AACrC,MAAM,eAAe,GAAG,YAAM,CAAC,SAAS,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAA;AAW9D,OAAO,CAAC,kBAAkB,GAAG,KAAK,EAAE,MAAc,EAAE,IAAU,EAAoB,EAAE;IAClF,OAAO,IAAI,IAAI,MAAM,IAAI,MAAM,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAA;AACnD,CAAC,CAAA;AAED,OAAO,CAAC,gBAAgB,GAAG,KAAK,EAAE,MAAc,EAAE,IAAU,EAAoB,EAAE;IAChF,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,KAAK,CAAA;IACd,CAAC;IAED,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;QACzB,IAAI,GAAG,MAAM,IAAA,qBAAa,EAAC,cAAI,CAAC,CAAC,OAAO,CAAC;YACvC,KAAK,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE;YACtB,SAAS,EAAE,CAAC,SAAS,CAAC;SACvB,CAAC,CAAA;IACJ,CAAC;IAED,MAAM,YAAY,GAAW,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,MAAc,EAAE,EAAE,CAAC,MAAM,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAA;IACjG,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,OAAO,KAAK,CAAA;IACd,CAAC;IAED,OAAO,YAAY,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAA;AACvC,CAAC,CAAA;AAED;;;;;;;;GAQG;AAEI,KAAK,UAAU,4BAA4B,CAAC,OAAY,EAAE,IAAS;IACxE,MAAM,EAAE,CAAC,EAAE,GAAG,OAAO,CAAA;IACrB,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;IAEtC,MAAM,SAAS,GAAW,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,SAAS,CAAA;IAE3C,gCAAgC;IAChC,mBAAmB;IACnB,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,MAAM,IAAI,yBAAS,CAAC;YAClB,SAAS,EAAE,yBAAS,CAAC,WAAW,CAAC,kBAAkB;SACpD,CAAC,CAAA;IACJ,CAAC;IAED,4BAA4B;IAC5B,MAAM,WAAW,GAAsB,MAAM,IAAA,oCAAc,EAAC,IAAI,CAAC,CAAA;IACjE,IAAI,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,SAAS,IAAI,SAAS,CAAC,IAAI,CAAC,MAAM,OAAO,CAAC,gBAAgB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,EAAE,CAAC;QAChH,OAAO,MAAM,IAAI,EAAE,CAAA;IACrB,CAAC;IAED,MAAM,IAAI,yBAAS,CAAC;QAClB,SAAS,EAAE,yBAAS,CAAC,WAAW,CAAC,kBAAkB;KACpD,CAAC,CAAA;AACJ,CAAC","sourcesContent":["import { config } from '@things-factory/env'\nimport { Domain, getRepository } from '@things-factory/shell'\n\nimport { AuthError } from '../errors/auth-error.js'\nimport { User } from '../service/user/user.js'\nimport { getUserDomains } from '../utils/get-user-domains.js'\n\nconst useVirtualHostBasedDomain = !!config.get('useVirtualHostBasedDomain')\nconst fixed = config.get('subdomain')\nconst subdomainOffset = config.getNumber('subdomainOffset', 2)\n\ndeclare global {\n namespace NodeJS {\n interface Process {\n domainOwnerGranted: (domain: Domain, user: User) => Promise<boolean>\n superUserGranted: (domain: Domain, user: User) => Promise<boolean>\n }\n }\n}\n\nprocess.domainOwnerGranted = async (domain: Domain, user: User): Promise<boolean> => {\n return user && domain && domain.owner === user.id\n}\n\nprocess.superUserGranted = async (domain: Domain, user: User): Promise<boolean> => {\n if (!user) {\n return false\n }\n\n if (!user.domains.length) {\n user = await getRepository(User).findOne({\n where: { id: user.id },\n relations: ['domains']\n })\n }\n\n const systemDomain: Domain = user.domains.find((domain: Domain) => domain.subdomain === 'system')\n if (!systemDomain) {\n return false\n }\n\n return systemDomain.owner === user.id\n}\n\n/*\n * 현재 subdomain 과 user의 domain list와의 비교를 통해서,\n * 인증 성공 또는 인증 에러를 발생시킬 것인지를 결정한다.\n * 1. 현재 subdomain 이 결정되지 않은 경우.\n * - checkin로 이동한다.\n * 2. superUser 판단\n * 3. 현재 subdomain 이 결정된 경우.\n * - user의 domains 리스트에 해당 subdomain이 없다면, 인증 오류를 발생한다.\n */\n\nexport async function domainAuthenticateMiddleware(context: any, next: any) {\n const { t } = context\n const { domain, user } = context.state\n\n const subdomain: string = domain?.subdomain\n\n // 1. 현재 subdomain 이 결정되지 않은 경우.\n // - checkin로 이동한다.\n if (!subdomain) {\n throw new AuthError({\n errorCode: AuthError.ERROR_CODES.SUBDOMAIN_NOTFOUND\n })\n }\n\n // 2. 현재 subdomain 이 결정된 경우.\n const userDomains: Partial<Domain>[] = await getUserDomains(user)\n if (userDomains.find(domain => domain.subdomain == subdomain) || (await process.superUserGranted(domain, user))) {\n return await next()\n }\n\n throw new AuthError({\n errorCode: AuthError.ERROR_CODES.SUBDOMAIN_NOTFOUND\n })\n}\n"]}
|
@@ -1,13 +1,13 @@
|
|
1
1
|
"use strict";
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
3
|
exports.graphqlAuthenticateMiddleware = graphqlAuthenticateMiddleware;
|
4
|
-
const
|
5
|
-
const
|
4
|
+
const domain_authenticate_middleware_js_1 = require("./domain-authenticate-middleware.js");
|
5
|
+
const jwt_authenticate_middleware_js_1 = require("./jwt-authenticate-middleware.js");
|
6
6
|
async function graphqlAuthenticateMiddleware(context, next) {
|
7
7
|
const { method, path } = context;
|
8
8
|
if (method == 'POST' && path.startsWith('/graphql')) {
|
9
|
-
await (0,
|
10
|
-
await (0,
|
9
|
+
await (0, jwt_authenticate_middleware_js_1.jwtAuthenticateMiddleware)(context, () => { });
|
10
|
+
await (0, domain_authenticate_middleware_js_1.domainAuthenticateMiddleware)(context, () => { });
|
11
11
|
}
|
12
12
|
await next();
|
13
13
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"graphql-authenticate-middleware.js","sourceRoot":"","sources":["../../server/middlewares/graphql-authenticate-middleware.ts"],"names":[],"mappings":";;AAGA,sEASC;AAZD,
|
1
|
+
{"version":3,"file":"graphql-authenticate-middleware.js","sourceRoot":"","sources":["../../server/middlewares/graphql-authenticate-middleware.ts"],"names":[],"mappings":";;AAGA,sEASC;AAZD,2FAAkF;AAClF,qFAA4E;AAErE,KAAK,UAAU,6BAA6B,CAAC,OAAO,EAAE,IAAI;IAC/D,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,OAAO,CAAA;IAEhC,IAAI,MAAM,IAAI,MAAM,IAAI,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QACpD,MAAM,IAAA,0DAAyB,EAAC,OAAO,EAAE,GAAG,EAAE,GAAE,CAAC,CAAC,CAAA;QAClD,MAAM,IAAA,gEAA4B,EAAC,OAAO,EAAE,GAAG,EAAE,GAAE,CAAC,CAAC,CAAA;IACvD,CAAC;IAED,MAAM,IAAI,EAAE,CAAA;AACd,CAAC","sourcesContent":["import { domainAuthenticateMiddleware } from './domain-authenticate-middleware.js'\nimport { jwtAuthenticateMiddleware } from './jwt-authenticate-middleware.js'\n\nexport async function graphqlAuthenticateMiddleware(context, next) {\n const { method, path } = context\n\n if (method == 'POST' && path.startsWith('/graphql')) {\n await jwtAuthenticateMiddleware(context, () => {})\n await domainAuthenticateMiddleware(context, () => {})\n }\n\n await next()\n}\n"]}
|
@@ -1,6 +1,6 @@
|
|
1
1
|
export declare function initMiddlewares(app: any): void;
|
2
|
-
export * from './jwt-authenticate-middleware';
|
3
|
-
export * from './domain-authenticate-middleware';
|
4
|
-
export * from './signin-middleware';
|
5
|
-
export * from './webauthn-middleware';
|
6
|
-
export * from './authenticate-401-middleware';
|
2
|
+
export * from './jwt-authenticate-middleware.js';
|
3
|
+
export * from './domain-authenticate-middleware.js';
|
4
|
+
export * from './signin-middleware.js';
|
5
|
+
export * from './webauthn-middleware.js';
|
6
|
+
export * from './authenticate-401-middleware.js';
|
@@ -5,20 +5,20 @@ const tslib_1 = require("tslib");
|
|
5
5
|
const koa_session_1 = tslib_1.__importDefault(require("koa-session"));
|
6
6
|
const koa_passport_1 = tslib_1.__importDefault(require("koa-passport"));
|
7
7
|
const env_1 = require("@things-factory/env");
|
8
|
-
const
|
9
|
-
const
|
10
|
-
const
|
11
|
-
const
|
12
|
-
const
|
13
|
-
const
|
14
|
-
const
|
8
|
+
const get_secret_js_1 = require("../utils/get-secret.js");
|
9
|
+
const authenticate_401_middleware_js_1 = require("./authenticate-401-middleware.js");
|
10
|
+
const domain_authenticate_middleware_js_1 = require("./domain-authenticate-middleware.js");
|
11
|
+
const graphql_authenticate_middleware_js_1 = require("./graphql-authenticate-middleware.js");
|
12
|
+
const jwt_authenticate_middleware_js_1 = require("./jwt-authenticate-middleware.js");
|
13
|
+
const user_js_1 = require("../service/user/user.js");
|
14
|
+
const max_age_js_1 = require("../constants/max-age.js");
|
15
15
|
const accessTokenCookieKey = env_1.config.get('accessTokenCookieKey', 'access_token');
|
16
16
|
function initMiddlewares(app) {
|
17
17
|
/* oauth2orize-koa 에서 oauth 트랜잭션 관리를 위해서 session을 사용함. */
|
18
|
-
app.keys = [
|
18
|
+
app.keys = [get_secret_js_1.SECRET];
|
19
19
|
app.use((0, koa_session_1.default)({
|
20
20
|
key: 'tfsession',
|
21
|
-
maxAge:
|
21
|
+
maxAge: max_age_js_1.MAX_AGE,
|
22
22
|
overwrite: true,
|
23
23
|
httpOnly: true,
|
24
24
|
signed: true,
|
@@ -29,26 +29,26 @@ function initMiddlewares(app) {
|
|
29
29
|
done(null, profile);
|
30
30
|
});
|
31
31
|
koa_passport_1.default.deserializeUser(async (profile, done) => {
|
32
|
-
done(null, await
|
32
|
+
done(null, await user_js_1.User.checkAuth(profile));
|
33
33
|
});
|
34
34
|
/* passport initialize */
|
35
35
|
app.use(koa_passport_1.default.initialize());
|
36
36
|
/* passport use session - for oauth transaction */
|
37
37
|
app.use(koa_passport_1.default.session());
|
38
38
|
/* authentication error handling */
|
39
|
-
app.use(
|
39
|
+
app.use(authenticate_401_middleware_js_1.authenticate401Middleware);
|
40
40
|
/*
|
41
41
|
* post:graphql 에 대해서는 graphqlAuthenticationMiddleware를 적용한다.
|
42
42
|
* graphql app을 router에 적용하지 못하기 때문임.
|
43
43
|
*/
|
44
|
-
app.use(
|
44
|
+
app.use(graphql_authenticate_middleware_js_1.graphqlAuthenticateMiddleware);
|
45
45
|
}
|
46
46
|
process.on('bootstrap-module-subscription', (app, subscriptionMiddleware) => {
|
47
|
-
subscriptionMiddleware.push(
|
47
|
+
subscriptionMiddleware.push(jwt_authenticate_middleware_js_1.jwtAuthenticateMiddleware, domain_authenticate_middleware_js_1.domainAuthenticateMiddleware);
|
48
48
|
});
|
49
|
-
tslib_1.__exportStar(require("./jwt-authenticate-middleware"), exports);
|
50
|
-
tslib_1.__exportStar(require("./domain-authenticate-middleware"), exports);
|
51
|
-
tslib_1.__exportStar(require("./signin-middleware"), exports);
|
52
|
-
tslib_1.__exportStar(require("./webauthn-middleware"), exports);
|
53
|
-
tslib_1.__exportStar(require("./authenticate-401-middleware"), exports);
|
49
|
+
tslib_1.__exportStar(require("./jwt-authenticate-middleware.js"), exports);
|
50
|
+
tslib_1.__exportStar(require("./domain-authenticate-middleware.js"), exports);
|
51
|
+
tslib_1.__exportStar(require("./signin-middleware.js"), exports);
|
52
|
+
tslib_1.__exportStar(require("./webauthn-middleware.js"), exports);
|
53
|
+
tslib_1.__exportStar(require("./authenticate-401-middleware.js"), exports);
|
54
54
|
//# sourceMappingURL=index.js.map
|