@contember/engine-tenant-api 1.2.0 → 1.3.0-alpha.2
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/dist/src/TenantContainer.d.ts +1 -1
- package/dist/src/TenantContainer.d.ts.map +1 -1
- package/dist/src/TenantContainer.js +2 -0
- package/dist/src/TenantContainer.js.map +1 -1
- package/dist/src/bin/runMigrations.d.ts +2 -0
- package/dist/src/bin/runMigrations.d.ts.map +1 -0
- package/dist/src/bin/runMigrations.js +28 -0
- package/dist/src/bin/runMigrations.js.map +1 -0
- package/dist/src/migrations/2018-08-02-174310-init.d.ts +3 -0
- package/dist/src/migrations/2018-08-02-174310-init.d.ts.map +1 -0
- package/dist/src/migrations/2018-08-02-174310-init.js +64 -0
- package/dist/src/migrations/2018-08-02-174310-init.js.map +1 -0
- package/dist/src/migrations/2018-09-03-140621-identity-project.d.ts +3 -0
- package/dist/src/migrations/2018-09-03-140621-identity-project.d.ts.map +1 -0
- package/dist/src/migrations/2018-09-03-140621-identity-project.js +33 -0
- package/dist/src/migrations/2018-09-03-140621-identity-project.js.map +1 -0
- package/dist/src/migrations/2018-10-26-165450-setup-api-key.d.ts +3 -0
- package/dist/src/migrations/2018-10-26-165450-setup-api-key.d.ts.map +1 -0
- package/dist/src/migrations/2018-10-26-165450-setup-api-key.js +27 -0
- package/dist/src/migrations/2018-10-26-165450-setup-api-key.js.map +1 -0
- package/dist/src/migrations/2018-10-26-175155-variables.d.ts +3 -0
- package/dist/src/migrations/2018-10-26-175155-variables.d.ts.map +1 -0
- package/dist/src/migrations/2018-10-26-175155-variables.js +23 -0
- package/dist/src/migrations/2018-10-26-175155-variables.js.map +1 -0
- package/dist/src/migrations/2019-02-18-110949-project-slug.d.ts +3 -0
- package/dist/src/migrations/2019-02-18-110949-project-slug.d.ts.map +1 -0
- package/dist/src/migrations/2019-02-18-110949-project-slug.js +18 -0
- package/dist/src/migrations/2019-02-18-110949-project-slug.js.map +1 -0
- package/dist/src/migrations/2019-02-18-160155-session-expiration.d.ts +3 -0
- package/dist/src/migrations/2019-02-18-160155-session-expiration.d.ts.map +1 -0
- package/dist/src/migrations/2019-02-18-160155-session-expiration.js +11 -0
- package/dist/src/migrations/2019-02-18-160155-session-expiration.js.map +1 -0
- package/dist/src/migrations/2019-05-03-163729-api-key-disabled-at.d.ts +3 -0
- package/dist/src/migrations/2019-05-03-163729-api-key-disabled-at.d.ts.map +1 -0
- package/dist/src/migrations/2019-05-03-163729-api-key-disabled-at.js +18 -0
- package/dist/src/migrations/2019-05-03-163729-api-key-disabled-at.js.map +1 -0
- package/dist/src/migrations/2019-08-14-153300-project-slug-unique.d.ts +3 -0
- package/dist/src/migrations/2019-08-14-153300-project-slug-unique.d.ts.map +1 -0
- package/dist/src/migrations/2019-08-14-153300-project-slug-unique.js +11 -0
- package/dist/src/migrations/2019-08-14-153300-project-slug-unique.js.map +1 -0
- package/dist/src/migrations/2019-09-06-111000-membership.d.ts +3 -0
- package/dist/src/migrations/2019-09-06-111000-membership.d.ts.map +1 -0
- package/dist/src/migrations/2019-09-06-111000-membership.js +51 -0
- package/dist/src/migrations/2019-09-06-111000-membership.js.map +1 -0
- package/dist/src/migrations/2019-09-06-111001-drop-old-member.d.ts +3 -0
- package/dist/src/migrations/2019-09-06-111001-drop-old-member.d.ts.map +1 -0
- package/dist/src/migrations/2019-09-06-111001-drop-old-member.js +11 -0
- package/dist/src/migrations/2019-09-06-111001-drop-old-member.js.map +1 -0
- package/dist/src/migrations/2020-01-29-idenity-note.d.ts +3 -0
- package/dist/src/migrations/2020-01-29-idenity-note.d.ts.map +1 -0
- package/dist/src/migrations/2020-01-29-idenity-note.js +18 -0
- package/dist/src/migrations/2020-01-29-idenity-note.js.map +1 -0
- package/dist/src/migrations/2020-04-17-fix-person-index.d.ts +3 -0
- package/dist/src/migrations/2020-04-17-fix-person-index.d.ts.map +1 -0
- package/dist/src/migrations/2020-04-17-fix-person-index.js +12 -0
- package/dist/src/migrations/2020-04-17-fix-person-index.js.map +1 -0
- package/dist/src/migrations/2020-05-01-170000-api-key-index.d.ts +3 -0
- package/dist/src/migrations/2020-05-01-170000-api-key-index.d.ts.map +1 -0
- package/dist/src/migrations/2020-05-01-170000-api-key-index.js +10 -0
- package/dist/src/migrations/2020-05-01-170000-api-key-index.js.map +1 -0
- package/dist/src/migrations/2020-06-08-134000-tenant-credentials.d.ts.map +1 -1
- package/dist/src/migrations/2020-06-08-134000-tenant-credentials.js +2 -50
- package/dist/src/migrations/2020-06-08-134000-tenant-credentials.js.map +1 -1
- package/dist/src/migrations/2020-08-07-110000-person-otp.d.ts +3 -0
- package/dist/src/migrations/2020-08-07-110000-person-otp.d.ts.map +1 -0
- package/dist/src/migrations/2020-08-07-110000-person-otp.js +12 -0
- package/dist/src/migrations/2020-08-07-110000-person-otp.js.map +1 -0
- package/dist/src/migrations/2020-08-17-162200-mail-templates.d.ts +3 -0
- package/dist/src/migrations/2020-08-17-162200-mail-templates.d.ts.map +1 -0
- package/dist/src/migrations/2020-08-17-162200-mail-templates.js +23 -0
- package/dist/src/migrations/2020-08-17-162200-mail-templates.js.map +1 -0
- package/dist/src/migrations/2020-08-21-143400-person-password-reset.d.ts +3 -0
- package/dist/src/migrations/2020-08-21-143400-person-password-reset.d.ts.map +1 -0
- package/dist/src/migrations/2020-08-21-143400-person-password-reset.js +23 -0
- package/dist/src/migrations/2020-08-21-143400-person-password-reset.js.map +1 -0
- package/dist/src/migrations/2020-09-07-094200-identity-provider.d.ts +3 -0
- package/dist/src/migrations/2020-09-07-094200-identity-provider.d.ts.map +1 -0
- package/dist/src/migrations/2020-09-07-094200-identity-provider.js +17 -0
- package/dist/src/migrations/2020-09-07-094200-identity-provider.js.map +1 -0
- package/dist/src/migrations/2021-03-28-134000-timestamp.d.ts +3 -0
- package/dist/src/migrations/2021-03-28-134000-timestamp.d.ts.map +1 -0
- package/dist/src/migrations/2021-03-28-134000-timestamp.js +27 -0
- package/dist/src/migrations/2021-03-28-134000-timestamp.js.map +1 -0
- package/dist/src/migrations/2021-07-26-105000-project-config.d.ts +3 -0
- package/dist/src/migrations/2021-07-26-105000-project-config.d.ts.map +1 -0
- package/dist/src/migrations/2021-07-26-105000-project-config.js +12 -0
- package/dist/src/migrations/2021-07-26-105000-project-config.js.map +1 -0
- package/dist/src/migrations/2021-07-26-132000-project-secrets.d.ts +3 -0
- package/dist/src/migrations/2021-07-26-132000-project-secrets.d.ts.map +1 -0
- package/dist/src/migrations/2021-07-26-132000-project-secrets.js +24 -0
- package/dist/src/migrations/2021-07-26-132000-project-secrets.js.map +1 -0
- package/dist/src/migrations/2021-07-27-174000-project-alias-index.d.ts +3 -0
- package/dist/src/migrations/2021-07-27-174000-project-alias-index.d.ts.map +1 -0
- package/dist/src/migrations/2021-07-27-174000-project-alias-index.js +10 -0
- package/dist/src/migrations/2021-07-27-174000-project-alias-index.js.map +1 -0
- package/dist/src/migrations/2021-11-24-130000-person-password-null.d.ts +3 -0
- package/dist/src/migrations/2021-11-24-130000-person-password-null.d.ts.map +1 -0
- package/dist/src/migrations/2021-11-24-130000-person-password-null.js +10 -0
- package/dist/src/migrations/2021-11-24-130000-person-password-null.js.map +1 -0
- package/dist/src/migrations/2021-11-24-161500-mail-template-project-null.d.ts +3 -0
- package/dist/src/migrations/2021-11-24-161500-mail-template-project-null.d.ts.map +1 -0
- package/dist/src/migrations/2021-11-24-161500-mail-template-project-null.js +18 -0
- package/dist/src/migrations/2021-11-24-161500-mail-template-project-null.js.map +1 -0
- package/dist/src/migrations/2022-01-04-144000-person-unique-identity.d.ts +3 -0
- package/dist/src/migrations/2022-01-04-144000-person-unique-identity.d.ts.map +1 -0
- package/dist/src/migrations/2022-01-04-144000-person-unique-identity.js +11 -0
- package/dist/src/migrations/2022-01-04-144000-person-unique-identity.js.map +1 -0
- package/dist/src/migrations/2022-02-09-111800-fix-crypted.d.ts +3 -0
- package/dist/src/migrations/2022-02-09-111800-fix-crypted.d.ts.map +1 -0
- package/dist/src/migrations/2022-02-09-111800-fix-crypted.js +22 -0
- package/dist/src/migrations/2022-02-09-111800-fix-crypted.js.map +1 -0
- package/dist/src/migrations/2022-02-11-153000-idp-auto-sign-up.d.ts +3 -0
- package/dist/src/migrations/2022-02-11-153000-idp-auto-sign-up.d.ts.map +1 -0
- package/dist/src/migrations/2022-02-11-153000-idp-auto-sign-up.js +11 -0
- package/dist/src/migrations/2022-02-11-153000-idp-auto-sign-up.js.map +1 -0
- package/dist/src/migrations/2022-06-29-105000-person-idp.d.ts +3 -0
- package/dist/src/migrations/2022-06-29-105000-person-idp.d.ts.map +1 -0
- package/dist/src/migrations/2022-06-29-105000-person-idp.js +23 -0
- package/dist/src/migrations/2022-06-29-105000-person-idp.js.map +1 -0
- package/dist/src/migrations/2022-07-07-135000-person-email-opt-uniq.d.ts +3 -0
- package/dist/src/migrations/2022-07-07-135000-person-email-opt-uniq.d.ts.map +1 -0
- package/dist/src/migrations/2022-07-07-135000-person-email-opt-uniq.js +12 -0
- package/dist/src/migrations/2022-07-07-135000-person-email-opt-uniq.js.map +1 -0
- package/dist/src/migrations/2022-07-07-141000-person-display-name.d.ts +3 -0
- package/dist/src/migrations/2022-07-07-141000-person-display-name.d.ts.map +1 -0
- package/dist/src/migrations/2022-07-07-141000-person-display-name.js +13 -0
- package/dist/src/migrations/2022-07-07-141000-person-display-name.js.map +1 -0
- package/dist/src/migrations/2022-07-14-145000-person-login-options.d.ts +3 -0
- package/dist/src/migrations/2022-07-14-145000-person-login-options.d.ts.map +1 -0
- package/dist/src/migrations/2022-07-14-145000-person-login-options.js +15 -0
- package/dist/src/migrations/2022-07-14-145000-person-login-options.js.map +1 -0
- package/dist/src/migrations/2022-11-08-project-update-notification.d.ts +3 -0
- package/dist/src/migrations/2022-11-08-project-update-notification.d.ts.map +1 -0
- package/dist/src/migrations/2022-11-08-project-update-notification.js +64 -0
- package/dist/src/migrations/2022-11-08-project-update-notification.js.map +1 -0
- package/dist/src/migrations/runner.d.ts +1 -1
- package/dist/src/migrations/runner.d.ts.map +1 -1
- package/dist/src/migrations/runner.js +68 -5
- package/dist/src/migrations/runner.js.map +1 -1
- package/dist/src/migrations/snapshot-factory.d.ts +5 -0
- package/dist/src/migrations/snapshot-factory.d.ts.map +1 -0
- package/dist/src/migrations/snapshot-factory.js +18 -0
- package/dist/src/migrations/snapshot-factory.js.map +1 -0
- package/dist/src/migrations/snapshot.d.ts +4 -0
- package/dist/src/migrations/snapshot.d.ts.map +1 -0
- package/dist/src/migrations/snapshot.js +202 -0
- package/dist/src/migrations/snapshot.js.map +1 -0
- package/dist/src/migrations/tenantCredentials.d.ts +4 -0
- package/dist/src/migrations/tenantCredentials.d.ts.map +1 -0
- package/dist/src/migrations/tenantCredentials.js +57 -0
- package/dist/src/migrations/tenantCredentials.js.map +1 -0
- package/dist/src/migrations/types.d.ts +2 -0
- package/dist/src/migrations/types.d.ts.map +1 -1
- package/dist/src/model/commands/idp/UpdateIdpCommand.d.ts +1 -0
- package/dist/src/model/commands/idp/UpdateIdpCommand.d.ts.map +1 -1
- package/dist/src/model/queries/membership/ProjectMembersQuery.d.ts +3 -3
- package/dist/src/model/queries/membership/ProjectMembersQuery.d.ts.map +1 -1
- package/dist/src/model/queries/membership/ProjectMembersQuery.js +22 -10
- package/dist/src/model/queries/membership/ProjectMembersQuery.js.map +1 -1
- package/dist/src/model/service/IDPSignInManager.d.ts +3 -3
- package/dist/src/model/service/IDPSignInManager.d.ts.map +1 -1
- package/dist/src/model/service/IDPSignInManager.js +13 -5
- package/dist/src/model/service/IDPSignInManager.js.map +1 -1
- package/dist/src/model/service/ProjectMemberManager.d.ts +2 -2
- package/dist/src/model/service/ProjectMemberManager.d.ts.map +1 -1
- package/dist/src/model/service/ProjectMemberManager.js +2 -2
- package/dist/src/model/service/ProjectMemberManager.js.map +1 -1
- package/dist/src/model/service/idp/IDPHandlerRegistry.d.ts +2 -2
- package/dist/src/model/service/idp/IDPHandlerRegistry.d.ts.map +1 -1
- package/dist/src/model/service/idp/IDPHandlerRegistry.js.map +1 -1
- package/dist/src/model/service/idp/IDPManager.d.ts.map +1 -1
- package/dist/src/model/service/idp/IDPManager.js +7 -2
- package/dist/src/model/service/idp/IDPManager.js.map +1 -1
- package/dist/src/model/service/idp/IdentityProviderHandler.d.ts +6 -9
- package/dist/src/model/service/idp/IdentityProviderHandler.d.ts.map +1 -1
- package/dist/src/model/service/idp/index.d.ts +3 -1
- package/dist/src/model/service/idp/index.d.ts.map +1 -1
- package/dist/src/model/service/idp/index.js +3 -1
- package/dist/src/model/service/idp/index.js.map +1 -1
- package/dist/src/model/service/idp/providers/AppleProvider.d.ts +29 -0
- package/dist/src/model/service/idp/providers/AppleProvider.d.ts.map +1 -0
- package/dist/src/model/service/idp/providers/AppleProvider.js +79 -0
- package/dist/src/model/service/idp/providers/AppleProvider.js.map +1 -0
- package/dist/src/model/service/idp/providers/FacebookProvider.d.ts +27 -0
- package/dist/src/model/service/idp/providers/FacebookProvider.d.ts.map +1 -0
- package/dist/src/model/service/idp/providers/FacebookProvider.js +137 -0
- package/dist/src/model/service/idp/providers/FacebookProvider.js.map +1 -0
- package/dist/src/model/service/idp/providers/OIDCHelpers.d.ts +10 -0
- package/dist/src/model/service/idp/providers/OIDCHelpers.d.ts.map +1 -0
- package/dist/src/model/service/idp/providers/OIDCHelpers.js +56 -0
- package/dist/src/model/service/idp/providers/OIDCHelpers.js.map +1 -0
- package/dist/src/model/service/idp/providers/OIDCProvider.d.ts +19 -0
- package/dist/src/model/service/idp/providers/OIDCProvider.d.ts.map +1 -0
- package/dist/src/model/service/idp/providers/OIDCProvider.js +40 -0
- package/dist/src/model/service/idp/providers/OIDCProvider.js.map +1 -0
- package/dist/src/model/service/idp/providers/OIDCTypes.d.ts +62 -0
- package/dist/src/model/service/idp/providers/OIDCTypes.d.ts.map +1 -0
- package/dist/src/model/service/idp/providers/OIDCTypes.js +56 -0
- package/dist/src/model/service/idp/providers/OIDCTypes.js.map +1 -0
- package/dist/src/model/service/idp/providers/helpers.d.ts +3 -0
- package/dist/src/model/service/idp/providers/helpers.d.ts.map +1 -0
- package/dist/src/model/service/idp/providers/helpers.js +40 -0
- package/dist/src/model/service/idp/providers/helpers.js.map +1 -0
- package/dist/src/model/utils/DatabaseContext.d.ts +1 -0
- package/dist/src/model/utils/DatabaseContext.d.ts.map +1 -1
- package/dist/src/model/utils/DatabaseContext.js +5 -0
- package/dist/src/model/utils/DatabaseContext.js.map +1 -1
- package/dist/src/resolvers/mutation/idp/UpdateIDPMutationResolver.d.ts.map +1 -1
- package/dist/src/resolvers/mutation/idp/UpdateIDPMutationResolver.js +4 -3
- package/dist/src/resolvers/mutation/idp/UpdateIDPMutationResolver.js.map +1 -1
- package/dist/src/resolvers/mutation/person/IDPMutationResolver.d.ts.map +1 -1
- package/dist/src/resolvers/mutation/person/IDPMutationResolver.js +10 -3
- package/dist/src/resolvers/mutation/person/IDPMutationResolver.js.map +1 -1
- package/dist/src/resolvers/types/ProjectTypeResolver.d.ts.map +1 -1
- package/dist/src/resolvers/types/ProjectTypeResolver.js +14 -6
- package/dist/src/resolvers/types/ProjectTypeResolver.js.map +1 -1
- package/dist/src/schema/index.d.ts +26 -8
- package/dist/src/schema/index.d.ts.map +1 -1
- package/dist/src/schema/index.js +1 -0
- package/dist/src/schema/index.js.map +1 -1
- package/dist/src/schema/tenant.graphql.d.ts.map +1 -1
- package/dist/src/schema/tenant.graphql.js +32 -6
- package/dist/src/schema/tenant.graphql.js.map +1 -1
- package/dist/src/tsconfig.tsbuildinfo +1 -1
- package/dist/tests/cases/integration/db/invite.test.js +2 -2
- package/dist/tests/cases/integration/db/unmanagedInvite.test.js +2 -2
- package/dist/{src → tests/cases}/migrations/2020-06-08-134000-tenant-credentials.test.d.ts +1 -1
- package/dist/tests/cases/migrations/2020-06-08-134000-tenant-credentials.test.d.ts.map +1 -0
- package/dist/{src → tests/cases}/migrations/2020-06-08-134000-tenant-credentials.test.js +19 -9
- package/dist/tests/cases/migrations/2020-06-08-134000-tenant-credentials.test.js.map +1 -0
- package/dist/tests/src/IdPMock.d.ts +4 -4
- package/dist/tests/src/IdPMock.d.ts.map +1 -1
- package/dist/tests/src/IdPMock.js +2 -2
- package/dist/tests/src/IdPMock.js.map +1 -1
- package/dist/tests/tsconfig.tsbuildinfo +1 -1
- package/package.json +14 -13
- package/src/TenantContainer.ts +4 -2
- package/src/bin/runMigrations.ts +32 -0
- package/src/migrations/{2018-08-02-174310-init.sql → 2018-08-02-174310-init.ts} +8 -1
- package/src/migrations/{2018-09-03-140621-identity-project.sql → 2018-09-03-140621-identity-project.ts} +8 -0
- package/src/migrations/{2018-10-26-165450-setup-api-key.sql → 2018-10-26-165450-setup-api-key.ts} +8 -0
- package/src/migrations/{2018-10-26-175155-variables.sql → 2018-10-26-175155-variables.ts} +7 -0
- package/src/migrations/{2019-02-18-110949-project-slug.sql → 2019-02-18-110949-project-slug.ts} +8 -0
- package/src/migrations/2019-02-18-160155-session-expiration.ts +10 -0
- package/src/migrations/{2019-05-03-163729-api-key-disabled-at.sql → 2019-05-03-163729-api-key-disabled-at.ts} +8 -0
- package/src/migrations/2019-08-14-153300-project-slug-unique.ts +10 -0
- package/src/migrations/{2019-09-06-111000-membership.sql → 2019-09-06-111000-membership.ts} +8 -0
- package/src/migrations/2019-09-06-111001-drop-old-member.ts +10 -0
- package/src/migrations/2020-01-29-idenity-note.ts +18 -0
- package/src/migrations/2020-04-17-fix-person-index.ts +12 -0
- package/src/migrations/2020-05-01-170000-api-key-index.ts +10 -0
- package/src/migrations/2020-06-08-134000-tenant-credentials.ts +3 -54
- package/src/migrations/2020-08-07-110000-person-otp.ts +12 -0
- package/src/migrations/{2020-08-17-162200-mail-templates.sql → 2020-08-17-162200-mail-templates.ts} +8 -0
- package/src/migrations/{2020-08-21-143400-person-password-reset.sql → 2020-08-21-143400-person-password-reset.ts} +8 -0
- package/src/migrations/{2020-09-07-094200-identity-provider.sql → 2020-09-07-094200-identity-provider.ts} +8 -0
- package/src/migrations/{2021-03-28-134000-timestamp.sql → 2021-03-28-134000-timestamp.ts} +9 -0
- package/src/migrations/2021-07-26-105000-project-config.ts +12 -0
- package/src/migrations/{2021-07-26-132000-project-secrets.sql → 2021-07-26-132000-project-secrets.ts} +8 -0
- package/src/migrations/2021-07-27-174000-project-alias-index.ts +10 -0
- package/src/migrations/2021-11-24-130000-person-password-null.ts +10 -0
- package/src/migrations/{2021-11-24-161500-mail-template-project-null.sql → 2021-11-24-161500-mail-template-project-null.ts} +8 -0
- package/src/migrations/2022-01-04-144000-person-unique-identity.ts +10 -0
- package/src/migrations/{2022-02-09-111800-fix-crypted.sql → 2022-02-09-111800-fix-crypted.ts} +8 -0
- package/src/migrations/2022-02-11-153000-idp-auto-sign-up.ts +10 -0
- package/src/migrations/{2022-06-29-105000-person-idp.sql → 2022-06-29-105000-person-idp.ts} +8 -0
- package/src/migrations/2022-07-07-135000-person-email-opt-uniq.ts +11 -0
- package/src/migrations/2022-07-07-141000-person-display-name.ts +13 -0
- package/src/migrations/{2022-07-14-145000-person-login-options.sql → 2022-07-14-145000-person-login-options.ts} +9 -0
- package/src/migrations/2022-11-08-project-update-notification.ts +64 -0
- package/src/migrations/runner.ts +72 -8
- package/src/migrations/snapshot-factory.ts +21 -0
- package/src/migrations/snapshot-template-end.txt +10 -0
- package/src/migrations/snapshot-template-start.txt +6 -0
- package/src/migrations/snapshot.ts +202 -0
- package/src/migrations/tenantCredentials.ts +58 -0
- package/src/migrations/types.ts +3 -0
- package/src/model/commands/idp/UpdateIdpCommand.ts +1 -0
- package/src/model/queries/membership/ProjectMembersQuery.ts +23 -14
- package/src/model/service/IDPSignInManager.ts +13 -10
- package/src/model/service/ProjectMemberManager.ts +3 -3
- package/src/model/service/idp/IDPHandlerRegistry.ts +3 -3
- package/src/model/service/idp/IDPManager.ts +6 -2
- package/src/model/service/idp/IdentityProviderHandler.ts +7 -15
- package/src/model/service/idp/index.ts +3 -1
- package/src/model/service/idp/providers/AppleProvider.ts +65 -0
- package/src/model/service/idp/providers/FacebookProvider.ts +125 -0
- package/src/model/service/idp/providers/OIDCHelpers.ts +54 -0
- package/src/model/service/idp/providers/OIDCProvider.ts +40 -0
- package/src/model/service/idp/providers/OIDCTypes.ts +61 -0
- package/src/model/service/idp/providers/helpers.ts +12 -0
- package/src/model/utils/DatabaseContext.ts +6 -0
- package/src/resolvers/mutation/idp/UpdateIDPMutationResolver.ts +1 -0
- package/src/resolvers/mutation/person/IDPMutationResolver.ts +9 -7
- package/src/resolvers/types/ProjectTypeResolver.ts +9 -2
- package/src/schema/index.ts +28 -8
- package/src/schema/tenant.graphql.ts +32 -6
- package/src/tsconfig.json +10 -30
- package/tests/cases/integration/db/invite.test.ts +2 -2
- package/tests/cases/integration/db/unmanagedInvite.test.ts +2 -2
- package/{src → tests/cases}/migrations/2020-06-08-134000-tenant-credentials.test.ts +17 -9
- package/tests/src/IdPMock.ts +4 -4
- package/tests/tsconfig.json +2 -6
- package/tsconfig.json +2 -6
- package/dist/src/migrations/2020-06-08-134000-tenant-credentials.test.d.ts.map +0 -1
- package/dist/src/migrations/2020-06-08-134000-tenant-credentials.test.js.map +0 -1
- package/dist/src/model/service/idp/OIDCProvider.d.ts +0 -25
- package/dist/src/model/service/idp/OIDCProvider.d.ts.map +0 -1
- package/dist/src/model/service/idp/OIDCProvider.js +0 -108
- package/dist/src/model/service/idp/OIDCProvider.js.map +0 -1
- package/src/migrations/2019-02-18-160155-session-expiration.sql +0 -2
- package/src/migrations/2019-08-14-153300-project-slug-unique.sql +0 -2
- package/src/migrations/2019-09-06-111001-drop-old-member.sql +0 -2
- package/src/migrations/2020-01-29-idenity-note.sql +0 -9
- package/src/migrations/2020-04-17-fix-person-index.sql +0 -3
- package/src/migrations/2020-05-01-170000-api-key-index.sql +0 -1
- package/src/migrations/2020-08-07-110000-person-otp.sql +0 -3
- package/src/migrations/2021-07-26-105000-project-config.sql +0 -3
- package/src/migrations/2021-07-27-174000-project-alias-index.sql +0 -1
- package/src/migrations/2021-11-24-130000-person-password-null.sql +0 -1
- package/src/migrations/2022-01-04-144000-person-unique-identity.sql +0 -2
- package/src/migrations/2022-02-11-153000-idp-auto-sign-up.sql +0 -2
- package/src/migrations/2022-07-07-135000-person-email-opt-uniq.sql +0 -3
- package/src/migrations/2022-07-07-141000-person-display-name.sql +0 -4
- package/src/model/service/idp/OIDCProvider.ts +0 -100
|
@@ -3,32 +3,44 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.ProjectMembersQuery = void 0;
|
|
4
4
|
const database_1 = require("@contember/database");
|
|
5
5
|
const schema_1 = require("../../../schema");
|
|
6
|
+
const exceptions_1 = require("../../../exceptions");
|
|
6
7
|
class ProjectMembersQuery extends database_1.DatabaseQuery {
|
|
7
|
-
constructor(projectId,
|
|
8
|
+
constructor(projectId, projectMemberInput) {
|
|
8
9
|
super();
|
|
9
10
|
this.projectId = projectId;
|
|
10
|
-
this.
|
|
11
|
+
this.projectMemberInput = projectMemberInput;
|
|
11
12
|
}
|
|
12
13
|
async fetch({ db }) {
|
|
14
|
+
var _a, _b;
|
|
13
15
|
return await database_1.SelectBuilder.create()
|
|
14
16
|
.select('id')
|
|
15
17
|
.select('description')
|
|
16
18
|
.from('identity')
|
|
17
19
|
.where(it => it.exists(builder => builder
|
|
18
20
|
.from('project_membership')
|
|
19
|
-
.where(expr => expr.columnsEq(['project_membership', 'identity_id'], ['identity', 'id']))
|
|
21
|
+
.where(expr => expr.columnsEq(['project_membership', 'identity_id'], ['identity', 'id']))
|
|
22
|
+
.where({ project_id: this.projectId })))
|
|
20
23
|
.match(qb => {
|
|
21
|
-
|
|
22
|
-
|
|
24
|
+
var _a;
|
|
25
|
+
const { email, memberType } = (_a = this.projectMemberInput.filter) !== null && _a !== void 0 ? _a : {};
|
|
26
|
+
if (email && memberType === schema_1.MemberType.ApiKey) {
|
|
27
|
+
throw new exceptions_1.ImplementationException();
|
|
23
28
|
}
|
|
24
|
-
const
|
|
29
|
+
const personQuery = database_1.SelectBuilder.create()
|
|
25
30
|
.from('person')
|
|
26
|
-
.where(expr => expr.columnsEq(['person', 'identity_id'], ['identity', 'id']))
|
|
27
|
-
if (
|
|
28
|
-
return qb.where(
|
|
31
|
+
.where(expr => expr.columnsEq(['person', 'identity_id'], ['identity', 'id']));
|
|
32
|
+
if (email) {
|
|
33
|
+
return qb.where(it => it.exists(personQuery.where({ email })));
|
|
29
34
|
}
|
|
30
|
-
|
|
35
|
+
switch (memberType) {
|
|
36
|
+
case schema_1.MemberType.ApiKey:
|
|
37
|
+
return qb.where(it => it.not(it => it.exists(personQuery)));
|
|
38
|
+
case schema_1.MemberType.Person:
|
|
39
|
+
return qb.where(it => it.exists(personQuery));
|
|
40
|
+
}
|
|
41
|
+
return qb;
|
|
31
42
|
})
|
|
43
|
+
.limit((_a = this.projectMemberInput.limit) !== null && _a !== void 0 ? _a : undefined, (_b = this.projectMemberInput.offset) !== null && _b !== void 0 ? _b : undefined)
|
|
32
44
|
.getResult(db);
|
|
33
45
|
}
|
|
34
46
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProjectMembersQuery.js","sourceRoot":"","sources":["../../../../../src/model/queries/membership/ProjectMembersQuery.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"ProjectMembersQuery.js","sourceRoot":"","sources":["../../../../../src/model/queries/membership/ProjectMembersQuery.ts"],"names":[],"mappings":";;;AAAA,kDAAqF;AACrF,4CAAiE;AACjE,oDAA6D;AAE7D,MAAa,mBAAoB,SAAQ,wBAAwC;IAEhF,YACkB,SAAiB,EACjB,kBAAuC;QAExD,KAAK,EAAE,CAAA;QAHU,cAAS,GAAT,SAAS,CAAQ;QACjB,uBAAkB,GAAlB,kBAAkB,CAAqB;IAGzD,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,EAAE,EAAE,EAAqB;;QACpC,OAAO,MAAM,wBAAa,CAAC,MAAM,EAAuC;aACtE,MAAM,CAAC,IAAI,CAAC;aACZ,MAAM,CAAC,aAAa,CAAC;aACrB,IAAI,CAAC,UAAU,CAAC;aAChB,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,MAAM,CACrB,OAAO,CAAC,EAAE,CAAC,OAAO;aAChB,IAAI,CAAC,oBAAoB,CAAC;aAC1B,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,oBAAoB,EAAE,aAAa,CAAC,EAAE,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC;aACxF,KAAK,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,CACvC,CAAC;aACD,KAAK,CAAC,EAAE,CAAC,EAAE;;YACX,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,MAAA,IAAI,CAAC,kBAAkB,CAAC,MAAM,mCAAI,EAAE,CAAA;YAClE,IAAI,KAAK,IAAI,UAAU,KAAK,mBAAU,CAAC,MAAM,EAAE;gBAC9C,MAAM,IAAI,oCAAuB,EAAE,CAAA;aACnC;YACD,MAAM,WAAW,GAAG,wBAAa,CAAC,MAAM,EAAE;iBACxC,IAAI,CAAC,QAAQ,CAAC;iBACd,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,QAAQ,EAAE,aAAa,CAAC,EAAE,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC,CAAA;YAC9E,IAAI,KAAK,EAAE;gBACV,OAAO,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,CAAA;aAC9D;YACD,QAAQ,UAAU,EAAE;gBACnB,KAAK,mBAAU,CAAC,MAAM;oBACrB,OAAO,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAA;gBAC5D,KAAK,mBAAU,CAAC,MAAM;oBACrB,OAAO,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAA;aAC9C;YACD,OAAO,EAAE,CAAA;QACV,CAAC,CAAC;aACD,KAAK,CAAC,MAAA,IAAI,CAAC,kBAAkB,CAAC,KAAK,mCAAI,SAAS,EAAE,MAAA,IAAI,CAAC,kBAAkB,CAAC,MAAM,mCAAI,SAAS,CAAC;aAC9F,SAAS,CAAC,EAAE,CAAC,CAAA;IAChB,CAAC;CACD;AA1CD,kDA0CC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { ApiKeyManager } from './apiKey';
|
|
2
2
|
import { PersonRow } from '../queries';
|
|
3
|
-
import { IDPHandlerRegistry
|
|
3
|
+
import { IDPHandlerRegistry } from './idp';
|
|
4
4
|
import { Response } from '../utils/Response';
|
|
5
5
|
import { InitSignInIdpErrorCode, SignInIdpErrorCode } from '../../schema';
|
|
6
6
|
import { DatabaseContext } from '../utils';
|
|
@@ -8,8 +8,8 @@ declare class IDPSignInManager {
|
|
|
8
8
|
private readonly apiKeyManager;
|
|
9
9
|
private readonly idpRegistry;
|
|
10
10
|
constructor(apiKeyManager: ApiKeyManager, idpRegistry: IDPHandlerRegistry);
|
|
11
|
-
signInIDP(dbContext: DatabaseContext, idpSlug: string,
|
|
12
|
-
initSignInIDP(dbContext: DatabaseContext, idpSlug: string,
|
|
11
|
+
signInIDP(dbContext: DatabaseContext, idpSlug: string, responseData: unknown, expiration?: number): Promise<IDPSignInManager.SignInIDPResponse>;
|
|
12
|
+
initSignInIDP(dbContext: DatabaseContext, idpSlug: string, data: unknown): Promise<IDPSignInManager.InitSignInIDPResponse>;
|
|
13
13
|
private resolvePerson;
|
|
14
14
|
private signUp;
|
|
15
15
|
private saveIdpIdentifier;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IDPSignInManager.d.ts","sourceRoot":"","sources":["../../../../src/model/service/IDPSignInManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AACxC,OAAO,EAA8D,SAAS,EAAE,MAAM,YAAY,CAAA;AAClG,OAAO,EAAY,kBAAkB,
|
|
1
|
+
{"version":3,"file":"IDPSignInManager.d.ts","sourceRoot":"","sources":["../../../../src/model/service/IDPSignInManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AACxC,OAAO,EAA8D,SAAS,EAAE,MAAM,YAAY,CAAA;AAClG,OAAO,EAAY,kBAAkB,EAAwC,MAAM,OAAO,CAAA;AAC1F,OAAO,EAAE,QAAQ,EAA6B,MAAM,mBAAmB,CAAA;AACvE,OAAO,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAA;AACzE,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAM1C,cAAM,gBAAgB;IAEpB,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,WAAW;gBADX,aAAa,EAAE,aAAa,EAC5B,WAAW,EAAE,kBAAkB;IAG3C,SAAS,CACd,SAAS,EAAE,eAAe,EAC1B,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,OAAO,EACrB,UAAU,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,gBAAgB,CAAC,iBAAiB,CAAC;IAiCxC,aAAa,CAAC,SAAS,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,gBAAgB,CAAC,qBAAqB,CAAC;YAkBlH,aAAa;YAwBb,MAAM;YAiBN,iBAAiB;CAG/B;AAED,kBAAU,gBAAgB,CAAC;IAC1B,MAAM,WAAW,mBAAmB;QACnC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;QACxB,QAAQ,CAAC,WAAW,EAAE,GAAG,CAAA;KACzB;IAED,MAAM,MAAM,qBAAqB,GAAG,QAAQ,CAAC,mBAAmB,EAAE,sBAAsB,CAAC,CAAA;IAEzF,UAAU,eAAe;QACxB,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAA;QAC1B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;KACtB;IAED,MAAM,MAAM,iBAAiB,GAAG,QAAQ,CAAC,eAAe,EAAE,kBAAkB,CAAC,CAAA;;CAC7E;AAED,OAAO,EAAE,gBAAgB,EAAE,CAAA"}
|
|
@@ -13,7 +13,7 @@ class IDPSignInManager {
|
|
|
13
13
|
this.apiKeyManager = apiKeyManager;
|
|
14
14
|
this.idpRegistry = idpRegistry;
|
|
15
15
|
}
|
|
16
|
-
async signInIDP(dbContext, idpSlug,
|
|
16
|
+
async signInIDP(dbContext, idpSlug, responseData, expiration) {
|
|
17
17
|
return dbContext.transaction(async (db) => {
|
|
18
18
|
const provider = await db.queryHandler.fetch(new queries_1.IdentityProviderBySlugQuery(idpSlug));
|
|
19
19
|
if (!provider || provider.disabledAt) {
|
|
@@ -23,7 +23,7 @@ class IDPSignInManager {
|
|
|
23
23
|
const validatedConfig = providerService.validateConfiguration(provider.configuration);
|
|
24
24
|
let claim;
|
|
25
25
|
try {
|
|
26
|
-
claim = await providerService.processResponse(validatedConfig,
|
|
26
|
+
claim = await providerService.processResponse(validatedConfig, responseData);
|
|
27
27
|
}
|
|
28
28
|
catch (e) {
|
|
29
29
|
if (e instanceof idp_1.IDPResponseError) {
|
|
@@ -42,15 +42,23 @@ class IDPSignInManager {
|
|
|
42
42
|
return new Response_1.ResponseOk({ person: personRow, token: sessionToken });
|
|
43
43
|
});
|
|
44
44
|
}
|
|
45
|
-
async initSignInIDP(dbContext, idpSlug,
|
|
45
|
+
async initSignInIDP(dbContext, idpSlug, data) {
|
|
46
46
|
const provider = await dbContext.queryHandler.fetch(new queries_1.IdentityProviderBySlugQuery(idpSlug));
|
|
47
47
|
if (!provider || provider.disabledAt) {
|
|
48
48
|
return new Response_1.ResponseError(schema_1.InitSignInIdpErrorCode.ProviderNotFound, `Identity provider ${idpSlug} not found`);
|
|
49
49
|
}
|
|
50
50
|
const providerService = this.idpRegistry.getHandler(provider.type);
|
|
51
51
|
const validatedConfig = providerService.validateConfiguration(provider.configuration);
|
|
52
|
-
|
|
53
|
-
|
|
52
|
+
try {
|
|
53
|
+
const initResponse = await providerService.initAuth(validatedConfig, data);
|
|
54
|
+
return new Response_1.ResponseOk(initResponse);
|
|
55
|
+
}
|
|
56
|
+
catch (e) {
|
|
57
|
+
if (e instanceof idp_1.IDPValidationError) {
|
|
58
|
+
return new Response_1.ResponseError(schema_1.InitSignInIdpErrorCode.IdpValidationFailed, e.message);
|
|
59
|
+
}
|
|
60
|
+
throw e;
|
|
61
|
+
}
|
|
54
62
|
}
|
|
55
63
|
async resolvePerson(db, claim, provider) {
|
|
56
64
|
const personByIdPQuery = new queries_1.PersonByIdPQuery(provider.id, claim.externalIdentifier);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IDPSignInManager.js","sourceRoot":"","sources":["../../../../src/model/service/IDPSignInManager.ts"],"names":[],"mappings":";;;AACA,wCAAkG;AAClG,+
|
|
1
|
+
{"version":3,"file":"IDPSignInManager.js","sourceRoot":"","sources":["../../../../src/model/service/IDPSignInManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { MembershipUpdateInput, RemoveProjectMemberResponse, UpdateProjectMemberResponse } from '../commands';
|
|
2
|
-
import { AddProjectMemberErrorCode,
|
|
2
|
+
import { AddProjectMemberErrorCode, ProjectMembersInput } from '../../schema';
|
|
3
3
|
import { AccessVerifier } from '../authorization';
|
|
4
4
|
import { Acl } from '@contember/schema';
|
|
5
5
|
import { Response } from '../utils/Response';
|
|
@@ -32,7 +32,7 @@ export declare class ProjectMemberManager {
|
|
|
32
32
|
id: string;
|
|
33
33
|
}, verifier: AccessVerifier | undefined): Promise<readonly Acl.Membership[]>;
|
|
34
34
|
private getImplicitProjectMemberships;
|
|
35
|
-
getProjectMembers(dbContext: DatabaseContext, projectId: string, accessVerifier: AccessVerifier,
|
|
35
|
+
getProjectMembers(dbContext: DatabaseContext, projectId: string, accessVerifier: AccessVerifier, input: ProjectMembersInput): Promise<GetProjectMembersResponse>;
|
|
36
36
|
private filterMemberships;
|
|
37
37
|
private filterProjectMembershipVariableValues;
|
|
38
38
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProjectMemberManager.d.ts","sourceRoot":"","sources":["../../../../src/model/service/ProjectMemberManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAGN,qBAAqB,EAErB,2BAA2B,EAE3B,2BAA2B,EAC3B,MAAM,aAAa,CAAA;AAEpB,OAAO,EAAE,yBAAyB,
|
|
1
|
+
{"version":3,"file":"ProjectMemberManager.d.ts","sourceRoot":"","sources":["../../../../src/model/service/ProjectMemberManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAGN,qBAAqB,EAErB,2BAA2B,EAE3B,2BAA2B,EAC3B,MAAM,aAAa,CAAA;AAEpB,OAAO,EAAE,yBAAyB,EAAc,mBAAmB,EAAE,MAAM,cAAc,CAAA;AACzF,OAAO,EAAE,cAAc,EAAiC,MAAM,kBAAkB,CAAA;AAGhF,OAAO,EAAE,GAAG,EAAe,MAAM,mBAAmB,CAAA;AACpD,OAAO,EAAE,QAAQ,EAA6B,MAAM,mBAAmB,CAAA;AACvE,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAE1C,qBAAa,oBAAoB;IAC1B,gBAAgB,CACrB,SAAS,EAAE,eAAe,EAC1B,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,SAAS,GAAG,CAAC,UAAU,EAAE,GACpC,OAAO,CAAC,wBAAwB,CAAC;IAmB9B,mBAAmB,CACxB,SAAS,EAAE,eAAe,EAC1B,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,SAAS,qBAAqB,EAAE,GAC3C,OAAO,CAAC,2BAA2B,CAAC;IAMjC,mBAAmB,CAAC,SAAS,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,2BAA2B,CAAC;IAM5H,wBAAwB,CAC7B,SAAS,EAAE,eAAe,EAC1B,OAAO,EAAE;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,GAAG;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,EAC1C,QAAQ,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;KAAE,EACnD,QAAQ,EAAE,cAAc,GAAG,SAAS,GAClC,OAAO,CAAC,SAAS,GAAG,CAAC,UAAU,EAAE,CAAC;IAO/B,8BAA8B,CACnC,SAAS,EAAE,eAAe,EAC1B,OAAO,EAAE;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,GAAG;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,EAC1C,QAAQ,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;KAAE,GACjD,OAAO,CAAC,SAAS,GAAG,CAAC,UAAU,EAAE,CAAC;IAQ/B,4BAA4B,CACjC,SAAS,EAAE,eAAe,EAC1B,OAAO,EAAE;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,GAAG;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,EAC1C,QAAQ,EAAE;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,EACxB,QAAQ,EAAE,cAAc,GAAG,SAAS,GAClC,OAAO,CAAC,SAAS,GAAG,CAAC,UAAU,EAAE,CAAC;IAUrC,OAAO,CAAC,6BAA6B;IAQ/B,iBAAiB,CAAC,SAAS,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,EAAE,cAAc,EAAE,cAAc,EAAE,KAAK,EAAE,mBAAmB,GAAG,OAAO,CAAC,yBAAyB,CAAC;YAiBxJ,iBAAiB;YAwBjB,qCAAqC;CAyBnD;AAED,oBAAY,wBAAwB,GAAG,QAAQ,CAAC,IAAI,EAAE,yBAAyB,CAAC,CAAA;AAEhF,oBAAY,yBAAyB,GAAG;IACvC,QAAQ,EAAE;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,CAAA;IACxB,WAAW,EAAE,SAAS,GAAG,CAAC,UAAU,EAAE,CAAA;CACtC,EAAE,CAAA"}
|
|
@@ -59,9 +59,9 @@ class ProjectMemberManager {
|
|
|
59
59
|
}
|
|
60
60
|
return [];
|
|
61
61
|
}
|
|
62
|
-
async getProjectMembers(dbContext, projectId, accessVerifier,
|
|
62
|
+
async getProjectMembers(dbContext, projectId, accessVerifier, input) {
|
|
63
63
|
return dbContext.transaction(async (db) => {
|
|
64
|
-
const members = await db.queryHandler.fetch(new queries_1.ProjectMembersQuery(projectId,
|
|
64
|
+
const members = await db.queryHandler.fetch(new queries_1.ProjectMembersQuery(projectId, input));
|
|
65
65
|
const memberships = await db.queryHandler.fetch(new queries_1.ProjectMembershipByIdentityQuery({ id: projectId }, members.map(it => it.id)));
|
|
66
66
|
const filteredMemberships = await this.filterMemberships(memberships, accessVerifier);
|
|
67
67
|
const byIdentity = (0, array_1.indexListBy)(filteredMemberships, 'identityId');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProjectMemberManager.js","sourceRoot":"","sources":["../../../../src/model/service/ProjectMemberManager.ts"],"names":[],"mappings":";;;AAAA,0CAQoB;AACpB,wCAAkF;AAClF,
|
|
1
|
+
{"version":3,"file":"ProjectMemberManager.js","sourceRoot":"","sources":["../../../../src/model/service/ProjectMemberManager.ts"],"names":[],"mappings":";;;AAAA,0CAQoB;AACpB,wCAAkF;AAClF,yCAAyF;AACzF,oDAAgF;AAChF,6CAAyD;AACzD,uDAAgE;AAChE,8CAAoD;AACpD,gDAAuE;AAGvE,MAAa,oBAAoB;IAChC,KAAK,CAAC,gBAAgB,CACrB,SAA0B,EAC1B,SAAiB,EACjB,UAAkB,EAClB,WAAsC;QAEtC,OAAO,MAAM,SAAS,CAAC,WAAW,CAAC,KAAK,EAAC,EAAE,EAAC,EAAE;YAC7C,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,UAAU,CAAC,OAAO,CACzC,IAAI,kCAAuB,CAAC,SAAS,EAAE,UAAU,EAAE,IAAA,8CAA4B,EAAC,WAAW,CAAC,CAAC,CAC7F,CAAA;YACD,IAAI,MAAM,CAAC,EAAE,EAAE;gBACd,OAAO,IAAI,qBAAU,CAAC,IAAI,CAAC,CAAA;aAC3B;YACD,QAAQ,MAAM,CAAC,KAAK,EAAE;gBACrB,KAAK,uCAA4B,CAAC,aAAa;oBAC9C,OAAO,IAAI,wBAAa,CAAC,kCAAyB,CAAC,aAAa,EAAE,MAAM,CAAC,YAAY,CAAC,CAAA;gBACvF,KAAK,uCAA4B,CAAC,eAAe;oBAChD,OAAO,IAAI,wBAAa,CAAC,kCAAyB,CAAC,eAAe,EAAE,MAAM,CAAC,YAAY,CAAC,CAAA;gBACzF,KAAK,uCAA4B,CAAC,gBAAgB;oBACjD,OAAO,IAAI,wBAAa,CAAC,kCAAyB,CAAC,gBAAgB,EAAE,MAAM,CAAC,YAAY,CAAC,CAAA;aAC1F;QACF,CAAC,CAAC,CAAA;IACH,CAAC;IAED,KAAK,CAAC,mBAAmB,CACxB,SAA0B,EAC1B,SAAiB,EACjB,UAAkB,EAClB,WAA6C;QAE7C,OAAO,MAAM,SAAS,CAAC,WAAW,CACjC,KAAK,EAAC,EAAE,EAAC,EAAE,CAAC,MAAM,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,qCAA0B,CAAC,SAAS,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC,CAC3G,CAAA;IACF,CAAC;IAED,KAAK,CAAC,mBAAmB,CAAC,SAA0B,EAAE,SAAiB,EAAE,UAAkB;QAC1F,OAAO,MAAM,SAAS,CAAC,WAAW,CACjC,KAAK,EAAC,EAAE,EAAC,EAAE,CAAC,MAAM,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,qCAA0B,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC,CAC9F,CAAA;IACF,CAAC;IAED,KAAK,CAAC,wBAAwB,CAC7B,SAA0B,EAC1B,OAA0C,EAC1C,QAAmD,EACnD,QAAoC;QAEpC,OAAO;YACN,GAAG,IAAI,CAAC,6BAA6B,CAAC,QAAQ,CAAC;YAC/C,GAAG,MAAM,IAAI,CAAC,4BAA4B,CAAC,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,CAAC;SAClF,CAAA;IACF,CAAC;IAED,KAAK,CAAC,8BAA8B,CACnC,SAA0B,EAC1B,OAA0C,EAC1C,QAAmD;QAEnD,MAAM,QAAQ,GAAG,IAAI,CAAC,6BAA6B,CAAC,QAAQ,CAAC,CAAA;QAC7D,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;YACxB,OAAO,QAAQ,CAAA;SACf;QACD,OAAO,MAAM,IAAI,CAAC,4BAA4B,CAAC,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAA;IACxF,CAAC;IAED,KAAK,CAAC,4BAA4B,CACjC,SAA0B,EAC1B,OAA0C,EAC1C,QAAwB,EACxB,QAAoC;QAEpC,MAAM,WAAW,GAAG,MAAM,SAAS,CAAC,YAAY,CAAC,KAAK,CACrD,IAAI,0CAAgC,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAC5D,CAAA;QACD,IAAI,QAAQ,KAAK,SAAS,EAAE;YAC3B,OAAO,WAAW,CAAA;SAClB;QACD,OAAO,MAAM,IAAI,CAAC,iBAAiB,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAA;IAC3D,CAAC;IAEO,6BAA6B,CAAC,QAAmD;;QACxF,IAAI,CAAA,MAAA,QAAQ,CAAC,KAAK,0CAAE,QAAQ,CAAC,0BAAU,CAAC,WAAW,CAAC,MAAI,MAAA,QAAQ,CAAC,KAAK,0CAAE,QAAQ,CAAC,0BAAU,CAAC,aAAa,CAAC,CAAA,EAAE;YAC3G,OAAO,CAAC,EAAE,IAAI,EAAE,oBAAW,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,CAAA;SACnD;QACD,OAAO,EAAE,CAAA;IACV,CAAC;IAGD,KAAK,CAAC,iBAAiB,CAAC,SAA0B,EAAE,SAAiB,EAAE,cAA8B,EAAE,KAA0B;QAChI,OAAO,SAAS,CAAC,WAAW,CAAC,KAAK,EAAC,EAAE,EAAC,EAAE;YACvC,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,6BAAmB,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC,CAAA;YACtF,MAAM,WAAW,GAAG,MAAM,EAAE,CAAC,YAAY,CAAC,KAAK,CAC9C,IAAI,0CAAgC,CACnC,EAAE,EAAE,EAAE,SAAS,EAAE,EACjB,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CACxB,CACD,CAAA;YACD,MAAM,mBAAmB,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,WAAW,EAAE,cAAc,CAAC,CAAA;YACrF,MAAM,UAAU,GAAG,IAAA,mBAAW,EAAC,mBAAmB,EAAE,YAAY,CAAC,CAAA;YACjE,OAAO,OAAO;iBACZ,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,UAAU,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,WAAW,EAAE,UAAU,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;iBACxF,MAAM,CAAC,gBAAQ,CAAC,CAAA;QACnB,CAAC,CAAC,CAAA;IACH,CAAC;IAEO,KAAK,CAAC,iBAAiB,CAC9B,WAAyB,EACzB,QAAwB;QAExB,MAAM,mBAAmB,GAAG,MAAM,OAAO,CAAC,GAAG,CAC5C,WAAW,CAAC,GAAG,CAAC,KAAK,EAAC,UAAU,EAAC,EAAE;YAClC,IAAI,CAAC,CAAC,MAAM,QAAQ,CAAC,iCAAiB,CAAC,mBAAmB,CAAC,CAAC,EAAE,IAAI,EAAE,UAAU,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE;gBACzG,OAAO,IAAI,CAAA;aACX;YACD,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,GAAG,CAClC,UAAU,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,EAAC,QAAQ,EAAC,EAAE;gBACzC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,qCAAqC,CAAC,UAAU,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAA;gBAC/F,OAAO,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,CAAA;YACvC,CAAC,CAAC,CACF,CAAA;YACD,IAAI,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC,EAAE;gBACjD,OAAO,IAAI,CAAA;aACX;YACD,OAAO,EAAE,GAAG,UAAU,EAAE,SAAS,EAAE,CAAA;QACpC,CAAC,CAAC,CACF,CAAA;QACD,OAAO,mBAAmB,CAAC,MAAM,CAAC,gBAAQ,CAAC,CAAA;IAC5C,CAAC;IAEO,KAAK,CAAC,qCAAqC,CAClD,UAA0B,EAC1B,QAAgC,EAChC,QAAwB;QAExB,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,GAAG,CAC/B,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,EAA0B,EAAE;YAC3D,MAAM,aAAa,GAAG;gBACrB,IAAI,EAAE,UAAU,CAAC,IAAI;gBACrB,SAAS,EAAE;oBACV;wBACC,IAAI,EAAE,QAAQ,CAAC,IAAI;wBACnB,MAAM,EAAE,CAAC,KAAK,CAAC;qBACf;iBACD;aACD,CAAA;YAED,IAAI,CAAC,CAAC,MAAM,QAAQ,CAAC,iCAAiB,CAAC,mBAAmB,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE;gBAC9E,OAAO,IAAI,CAAA;aACX;YACD,OAAO,KAAK,CAAA;QACb,CAAC,CAAC,CACF,CAAA;QACD,OAAO,MAAM,CAAC,MAAM,CAAC,gBAAQ,CAAC,CAAA;IAC/B,CAAC;CACD;AA3JD,oDA2JC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { IdentityProviderHandler } from './IdentityProviderHandler';
|
|
2
2
|
export declare class IDPHandlerRegistry {
|
|
3
3
|
private providers;
|
|
4
|
-
registerHandler(type: string, provider: IdentityProviderHandler<any
|
|
5
|
-
getHandler(type: string): IdentityProviderHandler<
|
|
4
|
+
registerHandler(type: string, provider: IdentityProviderHandler<any>): void;
|
|
5
|
+
getHandler(type: string): IdentityProviderHandler<{}>;
|
|
6
6
|
}
|
|
7
7
|
//# sourceMappingURL=IDPHandlerRegistry.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IDPHandlerRegistry.d.ts","sourceRoot":"","sources":["../../../../../src/model/service/idp/IDPHandlerRegistry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAA;AAGnE,qBAAa,kBAAkB;IAC9B,OAAO,CAAC,SAAS,
|
|
1
|
+
{"version":3,"file":"IDPHandlerRegistry.d.ts","sourceRoot":"","sources":["../../../../../src/model/service/idp/IDPHandlerRegistry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAA;AAGnE,qBAAa,kBAAkB;IAC9B,OAAO,CAAC,SAAS,CAAmD;IAE7D,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,uBAAuB,CAAC,GAAG,CAAC,GAAG,IAAI;IAI3E,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,uBAAuB,CAAC,EAAE,CAAC;CAO5D"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IDPHandlerRegistry.js","sourceRoot":"","sources":["../../../../../src/model/service/idp/IDPHandlerRegistry.ts"],"names":[],"mappings":";;;AACA,mFAA+E;AAE/E,MAAa,kBAAkB;IAA/B;QACS,cAAS,
|
|
1
|
+
{"version":3,"file":"IDPHandlerRegistry.js","sourceRoot":"","sources":["../../../../../src/model/service/idp/IDPHandlerRegistry.ts"],"names":[],"mappings":";;;AACA,mFAA+E;AAE/E,MAAa,kBAAkB;IAA/B;QACS,cAAS,GAAiD,EAAE,CAAA;IAarE,CAAC;IAXO,eAAe,CAAC,IAAY,EAAE,QAAsC;QAC1E,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAA;IAChC,CAAC;IAEM,UAAU,CAAC,IAAY;QAC7B,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;QACrC,IAAI,CAAC,QAAQ,EAAE;YACd,MAAM,IAAI,6DAA6B,CAAC,6BAA6B,IAAI,YAAY,CAAC,CAAA;SACtF;QACD,OAAO,QAAQ,CAAA;IAChB,CAAC;CACD;AAdD,gDAcC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IDPManager.d.ts","sourceRoot":"","sources":["../../../../../src/model/service/idp/IDPManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAA6B,MAAM,sBAAsB,CAAA;AAC1E,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAA;AAC9G,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAC7C,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAA;AAGjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AAKzD,OAAO,EAAoB,aAAa,EAAE,MAAM,qCAAqC,CAAA;AAErF,qBAAa,UAAU;IAErB,OAAO,CAAC,QAAQ,CAAC,WAAW;gBAAX,WAAW,EAAE,kBAAkB;IAIpC,MAAM,CAAC,EAAE,EAAE,eAAe,EAAE,GAAG,EAAE,oBAAoB,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAwBpF,UAAU,CAAC,EAAE,EAAE,eAAe,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAc1E,SAAS,CAAC,EAAE,EAAE,eAAe,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAaxE,SAAS,CAAC,EAAE,EAAE,eAAe,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"IDPManager.d.ts","sourceRoot":"","sources":["../../../../../src/model/service/idp/IDPManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAA6B,MAAM,sBAAsB,CAAA;AAC1E,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAA;AAC9G,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAC7C,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAA;AAGjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AAKzD,OAAO,EAAoB,aAAa,EAAE,MAAM,qCAAqC,CAAA;AAErF,qBAAa,UAAU;IAErB,OAAO,CAAC,QAAQ,CAAC,WAAW;gBAAX,WAAW,EAAE,kBAAkB;IAIpC,MAAM,CAAC,EAAE,EAAE,eAAe,EAAE,GAAG,EAAE,oBAAoB,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAwBpF,UAAU,CAAC,EAAE,EAAE,eAAe,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAc1E,SAAS,CAAC,EAAE,EAAE,eAAe,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAaxE,SAAS,CAAC,EAAE,EAAE,eAAe,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,iBAAiB,CAAC;CAuB1G;AAED,oBAAY,mBAAmB,GAAG,QAAQ,CAAC,IAAI,EAAE,eAAe,CAAC,CAAA;AACjE,oBAAY,kBAAkB,GAAG,QAAQ,CAAC,IAAI,EAAE,mBAAmB,CAAC,CAAA;AACpE,oBAAY,iBAAiB,GAAG,QAAQ,CAAC,IAAI,EAAE,kBAAkB,CAAC,CAAA;AAClE,oBAAY,iBAAiB,GAAG,QAAQ,CAAC,IAAI,EAAE,kBAAkB,CAAC,CAAA"}
|
|
@@ -63,13 +63,18 @@ class IDPManager {
|
|
|
63
63
|
}
|
|
64
64
|
async updateIDP(db, slug, data) {
|
|
65
65
|
return await db.transaction(async (db) => {
|
|
66
|
+
var _a, _b;
|
|
66
67
|
const existing = await db.queryHandler.fetch(new queries_1.IdentityProviderBySlugQuery(slug));
|
|
67
68
|
if (!existing) {
|
|
68
69
|
return new Response_1.ResponseError(schema_1.UpdateIdpErrorCode.NotFound, `IDP ${slug} not found`);
|
|
69
70
|
}
|
|
70
71
|
try {
|
|
71
|
-
const
|
|
72
|
-
|
|
72
|
+
const type = (_a = data.type) !== null && _a !== void 0 ? _a : existing.type;
|
|
73
|
+
const configuration = (_b = data.configuration) !== null && _b !== void 0 ? _b : existing.configuration;
|
|
74
|
+
const providerService = this.idpRegistry.getHandler(type);
|
|
75
|
+
if (data.configuration !== undefined || type !== existing.type) {
|
|
76
|
+
providerService.validateConfiguration(configuration);
|
|
77
|
+
}
|
|
73
78
|
}
|
|
74
79
|
catch (e) {
|
|
75
80
|
if (e instanceof InvalidIDPConfigurationError_1.InvalidIDPConfigurationError) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IDPManager.js","sourceRoot":"","sources":["../../../../../src/model/service/idp/IDPManager.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"IDPManager.js","sourceRoot":"","sources":["../../../../../src/model/service/idp/IDPManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,18 +1,15 @@
|
|
|
1
|
-
export interface InitIDPAuthResult
|
|
1
|
+
export interface InitIDPAuthResult {
|
|
2
2
|
authUrl: string;
|
|
3
|
-
sessionData:
|
|
4
|
-
}
|
|
5
|
-
export interface IDPResponse {
|
|
6
|
-
url: string;
|
|
3
|
+
sessionData: unknown;
|
|
7
4
|
}
|
|
8
5
|
export interface IDPClaim {
|
|
9
6
|
externalIdentifier: string;
|
|
10
7
|
email?: string;
|
|
11
8
|
name?: string;
|
|
12
9
|
}
|
|
13
|
-
export interface IdentityProviderHandler<
|
|
14
|
-
initAuth(configuration: Configuration,
|
|
15
|
-
processResponse(configuration: Configuration,
|
|
16
|
-
validateConfiguration(config: unknown)
|
|
10
|
+
export interface IdentityProviderHandler<Configuration extends {}> {
|
|
11
|
+
initAuth: (configuration: Configuration, data: unknown) => Promise<InitIDPAuthResult>;
|
|
12
|
+
processResponse: (configuration: Configuration, responseData: unknown) => Promise<IDPClaim>;
|
|
13
|
+
validateConfiguration: (config: unknown) => Configuration;
|
|
17
14
|
}
|
|
18
15
|
//# sourceMappingURL=IdentityProviderHandler.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IdentityProviderHandler.d.ts","sourceRoot":"","sources":["../../../../../src/model/service/idp/IdentityProviderHandler.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,iBAAiB
|
|
1
|
+
{"version":3,"file":"IdentityProviderHandler.d.ts","sourceRoot":"","sources":["../../../../../src/model/service/idp/IdentityProviderHandler.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,iBAAiB;IACjC,OAAO,EAAE,MAAM,CAAA;IACf,WAAW,EAAE,OAAO,CAAA;CACpB;AAED,MAAM,WAAW,QAAQ;IACxB,kBAAkB,EAAE,MAAM,CAAA;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,IAAI,CAAC,EAAE,MAAM,CAAA;CACb;AAED,MAAM,WAAW,uBAAuB,CAAC,aAAa,SAAS,EAAE;IAEhE,QAAQ,EAAE,CAAC,aAAa,EAAE,aAAa,EAAE,IAAI,EAAE,OAAO,KAAK,OAAO,CAAC,iBAAiB,CAAC,CAAA;IAErF,eAAe,EAAE,CAAC,aAAa,EAAE,aAAa,EAAE,YAAY,EAAE,OAAO,KAAM,OAAO,CAAC,QAAQ,CAAC,CAAA;IAE5F,qBAAqB,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,aAAa,CAAA;CACzD"}
|
|
@@ -4,5 +4,7 @@ export * from './IDPHandlerRegistry';
|
|
|
4
4
|
export * from './IDPResponseError';
|
|
5
5
|
export * from './IDPValidationError';
|
|
6
6
|
export * from './InvalidIDPConfigurationError';
|
|
7
|
-
export * from './
|
|
7
|
+
export * from './providers/AppleProvider';
|
|
8
|
+
export * from './providers/OIDCProvider';
|
|
9
|
+
export * from './providers/FacebookProvider';
|
|
8
10
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/model/service/idp/index.ts"],"names":[],"mappings":"AAAA,cAAc,2BAA2B,CAAA;AACzC,cAAc,iCAAiC,CAAA;AAC/C,cAAc,sBAAsB,CAAA;AACpC,cAAc,oBAAoB,CAAA;AAClC,cAAc,sBAAsB,CAAA;AACpC,cAAc,gCAAgC,CAAA;AAC9C,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/model/service/idp/index.ts"],"names":[],"mappings":"AAAA,cAAc,2BAA2B,CAAA;AACzC,cAAc,iCAAiC,CAAA;AAC/C,cAAc,sBAAsB,CAAA;AACpC,cAAc,oBAAoB,CAAA;AAClC,cAAc,sBAAsB,CAAA;AACpC,cAAc,gCAAgC,CAAA;AAC9C,cAAc,2BAA2B,CAAA;AACzC,cAAc,0BAA0B,CAAA;AACxC,cAAc,8BAA8B,CAAA"}
|
|
@@ -20,5 +20,7 @@ __exportStar(require("./IDPHandlerRegistry"), exports);
|
|
|
20
20
|
__exportStar(require("./IDPResponseError"), exports);
|
|
21
21
|
__exportStar(require("./IDPValidationError"), exports);
|
|
22
22
|
__exportStar(require("./InvalidIDPConfigurationError"), exports);
|
|
23
|
-
__exportStar(require("./
|
|
23
|
+
__exportStar(require("./providers/AppleProvider"), exports);
|
|
24
|
+
__exportStar(require("./providers/OIDCProvider"), exports);
|
|
25
|
+
__exportStar(require("./providers/FacebookProvider"), exports);
|
|
24
26
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/model/service/idp/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,4DAAyC;AACzC,kEAA+C;AAC/C,uDAAoC;AACpC,qDAAkC;AAClC,uDAAoC;AACpC,iEAA8C;AAC9C,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/model/service/idp/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,4DAAyC;AACzC,kEAA+C;AAC/C,uDAAoC;AACpC,qDAAkC;AAClC,uDAAoC;AACpC,iEAA8C;AAC9C,4DAAyC;AACzC,2DAAwC;AACxC,+DAA4C"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import * as Typesafe from '@contember/typesafe';
|
|
2
|
+
import { IdentityProviderHandler, IDPClaim, InitIDPAuthResult } from '../IdentityProviderHandler';
|
|
3
|
+
export declare const AppleConfiguration: Typesafe.Type<{
|
|
4
|
+
readonly keyId: string;
|
|
5
|
+
readonly teamId: string;
|
|
6
|
+
readonly clientId: string;
|
|
7
|
+
readonly privateKey: string;
|
|
8
|
+
} & {
|
|
9
|
+
readonly responseType?: string | undefined;
|
|
10
|
+
readonly claims?: string | undefined;
|
|
11
|
+
}>;
|
|
12
|
+
declare type AppleConfiguration = ReturnType<typeof AppleConfiguration>;
|
|
13
|
+
export declare class AppleProvider implements IdentityProviderHandler<AppleConfiguration> {
|
|
14
|
+
private issuer;
|
|
15
|
+
validateConfiguration: (value: unknown) => {
|
|
16
|
+
readonly keyId: string;
|
|
17
|
+
readonly teamId: string;
|
|
18
|
+
readonly clientId: string;
|
|
19
|
+
readonly privateKey: string;
|
|
20
|
+
} & {
|
|
21
|
+
readonly responseType?: string | undefined;
|
|
22
|
+
readonly claims?: string | undefined;
|
|
23
|
+
};
|
|
24
|
+
initAuth(configuration: AppleConfiguration, data: unknown): Promise<InitIDPAuthResult>;
|
|
25
|
+
processResponse(configuration: AppleConfiguration, data: unknown): Promise<IDPClaim>;
|
|
26
|
+
private createOIDCClient;
|
|
27
|
+
}
|
|
28
|
+
export {};
|
|
29
|
+
//# sourceMappingURL=AppleProvider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AppleProvider.d.ts","sourceRoot":"","sources":["../../../../../../src/model/service/idp/providers/AppleProvider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,QAAQ,MAAM,qBAAqB,CAAA;AAC/C,OAAO,EAAE,uBAAuB,EAAE,QAAQ,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAA;AASjG,eAAO,MAAM,kBAAkB;;;;;;;;EAQ9B,CAAA;AAED,aAAK,kBAAkB,GAAG,UAAU,CAAC,OAAO,kBAAkB,CAAC,CAAA;AAI/D,qBAAa,aAAc,YAAW,uBAAuB,CAAC,kBAAkB,CAAC;IAChF,OAAO,CAAC,MAAM,CAA4B;IAE1C,qBAAqB;;;;;;;;MAAkE;IAE1E,QAAQ,CAAC,aAAa,EAAE,kBAAkB,EAAE,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAStF,eAAe,CAAC,aAAa,EAAE,kBAAkB,EAAE,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC;YAOnF,gBAAgB;CAmB9B"}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
+
exports.AppleProvider = exports.AppleConfiguration = void 0;
|
|
27
|
+
const Typesafe = __importStar(require("@contember/typesafe"));
|
|
28
|
+
const OIDCTypes_1 = require("./OIDCTypes");
|
|
29
|
+
const helpers_1 = require("./helpers");
|
|
30
|
+
const IDPValidationError_1 = require("../IDPValidationError");
|
|
31
|
+
const InvalidIDPConfigurationError_1 = require("../InvalidIDPConfigurationError");
|
|
32
|
+
const OIDCHelpers_1 = require("./OIDCHelpers");
|
|
33
|
+
const openid_client_1 = require("openid-client");
|
|
34
|
+
const jose_1 = require("jose");
|
|
35
|
+
exports.AppleConfiguration = Typesafe.intersection(Typesafe.object({
|
|
36
|
+
keyId: Typesafe.string,
|
|
37
|
+
teamId: Typesafe.string,
|
|
38
|
+
clientId: Typesafe.string,
|
|
39
|
+
privateKey: Typesafe.string,
|
|
40
|
+
}), OIDCTypes_1.OIDCConfigurationOptions);
|
|
41
|
+
const APPLE_OIDC_CONFIGURATION_ENDPOINT = 'https://appleid.apple.com/.well-known/openid-configuration';
|
|
42
|
+
class AppleProvider {
|
|
43
|
+
constructor() {
|
|
44
|
+
this.validateConfiguration = (0, helpers_1.catchTypesafe)(exports.AppleConfiguration, InvalidIDPConfigurationError_1.InvalidIDPConfigurationError);
|
|
45
|
+
}
|
|
46
|
+
async initAuth(configuration, data) {
|
|
47
|
+
const initData = (0, helpers_1.catchTypesafe)(OIDCTypes_1.OIDCInitData, IDPValidationError_1.IDPValidationError)(data);
|
|
48
|
+
const client = await this.createOIDCClient(configuration);
|
|
49
|
+
return await (0, OIDCHelpers_1.initOIDCAuth)(client, {
|
|
50
|
+
claims: configuration.claims,
|
|
51
|
+
...initData,
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
async processResponse(configuration, data) {
|
|
55
|
+
const responseData = (0, helpers_1.catchTypesafe)(OIDCTypes_1.OIDCResponseData, IDPValidationError_1.IDPValidationError)(data);
|
|
56
|
+
const client = await this.createOIDCClient(configuration);
|
|
57
|
+
return await (0, OIDCHelpers_1.handleOIDCResponse)(client, responseData);
|
|
58
|
+
}
|
|
59
|
+
async createOIDCClient(configuration) {
|
|
60
|
+
var _a;
|
|
61
|
+
(_a = this.issuer) !== null && _a !== void 0 ? _a : (this.issuer = await openid_client_1.Issuer.discover(APPLE_OIDC_CONFIGURATION_ENDPOINT));
|
|
62
|
+
const privateKey = await (0, jose_1.importPKCS8)(configuration.privateKey, 'ES256');
|
|
63
|
+
const jwt = await new jose_1.SignJWT({})
|
|
64
|
+
.setProtectedHeader({ alg: 'ES256', typ: 'JWT', kid: configuration.keyId })
|
|
65
|
+
.setIssuedAt()
|
|
66
|
+
.setIssuer(configuration.teamId)
|
|
67
|
+
.setAudience('https://appleid.apple.com')
|
|
68
|
+
.setSubject(configuration.clientId)
|
|
69
|
+
.setExpirationTime('10m')
|
|
70
|
+
.sign(privateKey);
|
|
71
|
+
return new this.issuer.Client({
|
|
72
|
+
client_id: configuration.clientId,
|
|
73
|
+
client_secret: jwt,
|
|
74
|
+
response_types: [configuration.responseType || 'code'],
|
|
75
|
+
});
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
exports.AppleProvider = AppleProvider;
|
|
79
|
+
//# sourceMappingURL=AppleProvider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AppleProvider.js","sourceRoot":"","sources":["../../../../../../src/model/service/idp/providers/AppleProvider.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,8DAA+C;AAE/C,2CAAuG;AACvG,uCAAyC;AACzC,8DAA0D;AAC1D,kFAA8E;AAC9E,+CAAgE;AAChE,iDAA8C;AAC9C,+BAA2C;AAE9B,QAAA,kBAAkB,GAAG,QAAQ,CAAC,YAAY,CACtD,QAAQ,CAAC,MAAM,CAAC;IACf,KAAK,EAAE,QAAQ,CAAC,MAAM;IACtB,MAAM,EAAE,QAAQ,CAAC,MAAM;IACvB,QAAQ,EAAE,QAAQ,CAAC,MAAM;IACzB,UAAU,EAAE,QAAQ,CAAC,MAAM;CAC3B,CAAC,EACF,oCAAwB,CACxB,CAAA;AAID,MAAM,iCAAiC,GAAG,4DAA4D,CAAA;AAEtG,MAAa,aAAa;IAA1B;QAGC,0BAAqB,GAAG,IAAA,uBAAa,EAAC,0BAAkB,EAAE,2DAA4B,CAAC,CAAA;IAqCxF,CAAC;IAnCO,KAAK,CAAC,QAAQ,CAAC,aAAiC,EAAE,IAAa;QACrE,MAAM,QAAQ,GAAG,IAAA,uBAAa,EAAC,wBAAY,EAAE,uCAAkB,CAAC,CAAC,IAAI,CAAC,CAAA;QACtE,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAA;QACzD,OAAO,MAAM,IAAA,0BAAY,EAAC,MAAM,EAAE;YACjC,MAAM,EAAE,aAAa,CAAC,MAAM;YAC5B,GAAG,QAAQ;SACX,CAAC,CAAA;IACH,CAAC;IAEM,KAAK,CAAC,eAAe,CAAC,aAAiC,EAAE,IAAa;QAC5E,MAAM,YAAY,GAAG,IAAA,uBAAa,EAAC,4BAAgB,EAAE,uCAAkB,CAAC,CAAC,IAAI,CAAC,CAAA;QAC9E,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAA;QACzD,OAAO,MAAM,IAAA,gCAAkB,EAAC,MAAM,EAAE,YAAY,CAAC,CAAA;IACtD,CAAC;IAGO,KAAK,CAAC,gBAAgB,CAAC,aAAiC;;QAC/D,MAAA,IAAI,CAAC,MAAM,oCAAX,IAAI,CAAC,MAAM,GAAK,MAAM,sBAAM,CAAC,QAAQ,CAAC,iCAAiC,CAAC,EAAA;QACxE,MAAM,UAAU,GAAG,MAAM,IAAA,kBAAW,EAAC,aAAa,CAAC,UAAU,EAAE,OAAO,CAAC,CAAA;QAEvE,MAAM,GAAG,GAAG,MAAM,IAAI,cAAO,CAAC,EAAE,CAAC;aAC/B,kBAAkB,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,aAAa,CAAC,KAAK,EAAE,CAAC;aAC1E,WAAW,EAAE;aACb,SAAS,CAAC,aAAa,CAAC,MAAM,CAAC;aAC/B,WAAW,CAAC,2BAA2B,CAAC;aACxC,UAAU,CAAC,aAAa,CAAC,QAAQ,CAAC;aAClC,iBAAiB,CAAC,KAAK,CAAC;aACxB,IAAI,CAAC,UAAU,CAAC,CAAA;QAElB,OAAO,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;YAC7B,SAAS,EAAE,aAAa,CAAC,QAAQ;YACjC,aAAa,EAAE,GAAG;YAClB,cAAc,EAAE,CAAC,aAAa,CAAC,YAAY,IAAI,MAAM,CAAC;SACtD,CAAC,CAAA;IACH,CAAC;CACD;AAxCD,sCAwCC"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import * as Typesafe from '@contember/typesafe';
|
|
2
|
+
import { IdentityProviderHandler, IDPClaim, InitIDPAuthResult } from '../IdentityProviderHandler';
|
|
3
|
+
declare const FacebookConfiguration: Typesafe.Type<{
|
|
4
|
+
readonly url: string;
|
|
5
|
+
readonly clientId: string;
|
|
6
|
+
readonly clientSecret: string;
|
|
7
|
+
} & {
|
|
8
|
+
readonly responseType?: string | undefined;
|
|
9
|
+
readonly claims?: string | undefined;
|
|
10
|
+
}>;
|
|
11
|
+
declare type FacebookConfiguration = ReturnType<typeof FacebookConfiguration>;
|
|
12
|
+
export declare class FacebookProvider implements IdentityProviderHandler<FacebookConfiguration> {
|
|
13
|
+
private facebookIssuer;
|
|
14
|
+
validateConfiguration: (value: unknown) => {
|
|
15
|
+
readonly url: string;
|
|
16
|
+
readonly clientId: string;
|
|
17
|
+
readonly clientSecret: string;
|
|
18
|
+
} & {
|
|
19
|
+
readonly responseType?: string | undefined;
|
|
20
|
+
readonly claims?: string | undefined;
|
|
21
|
+
};
|
|
22
|
+
initAuth(configuration: FacebookConfiguration, data: unknown): Promise<InitIDPAuthResult>;
|
|
23
|
+
processResponse(configuration: FacebookConfiguration, data: unknown): Promise<IDPClaim>;
|
|
24
|
+
private createOIDCClient;
|
|
25
|
+
}
|
|
26
|
+
export {};
|
|
27
|
+
//# sourceMappingURL=FacebookProvider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FacebookProvider.d.ts","sourceRoot":"","sources":["../../../../../../src/model/service/idp/providers/FacebookProvider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,QAAQ,MAAM,qBAAqB,CAAA;AAE/C,OAAO,EAAE,uBAAuB,EAAE,QAAQ,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAA;AAWjG,QAAA,MAAM,qBAAqB;;;;;;;EAAwB,CAAA;AACnD,aAAK,qBAAqB,GAAG,UAAU,CAAC,OAAO,qBAAqB,CAAC,CAAA;AAmBrE,qBAAa,gBAAiB,YAAW,uBAAuB,CAAC,qBAAqB,CAAC;IAGtF,OAAO,CAAC,cAAc,CAsCpB;IAEF,qBAAqB;;;;;;;MAAqE;IAE7E,QAAQ,CAAC,aAAa,EAAE,qBAAqB,EAAE,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,iBAAiB,CAAC;IASzF,eAAe,CAAC,aAAa,EAAE,qBAAqB,EAAE,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC;YA8BtF,gBAAgB;CAO9B"}
|