Merge pull request #4656 from Infisical/fix/identity-index-fix

feat: changed the query to simpler for identity access token validation
This commit is contained in:
Maidul Islam
2025-10-11 09:47:43 -04:00
committed by GitHub
2 changed files with 9 additions and 9 deletions
+2 -2
View File
@@ -1594,9 +1594,9 @@ export const registerRoutes = async (
const identityAccessTokenService = identityAccessTokenServiceFactory({ const identityAccessTokenService = identityAccessTokenServiceFactory({
identityAccessTokenDAL, identityAccessTokenDAL,
identityOrgMembershipDAL,
accessTokenQueue, accessTokenQueue,
identityDAL identityDAL,
membershipIdentityDAL
}); });
const identityTokenAuthService = identityTokenAuthServiceFactory({ const identityTokenAuthService = identityTokenAuthServiceFactory({
@@ -1,4 +1,4 @@
import { IdentityAuthMethod, TableName, TIdentityAccessTokens } from "@app/db/schemas"; import { AccessScope, IdentityAuthMethod, TableName, TIdentityAccessTokens } from "@app/db/schemas";
import { getConfig } from "@app/lib/config/env"; import { getConfig } from "@app/lib/config/env";
import { crypto } from "@app/lib/crypto"; import { crypto } from "@app/lib/crypto";
import { BadRequestError, UnauthorizedError } from "@app/lib/errors"; import { BadRequestError, UnauthorizedError } from "@app/lib/errors";
@@ -7,27 +7,27 @@ import { checkIPAgainstBlocklist, TIp } from "@app/lib/ip";
import { TAccessTokenQueueServiceFactory } from "../access-token-queue/access-token-queue"; import { TAccessTokenQueueServiceFactory } from "../access-token-queue/access-token-queue";
import { AuthTokenType } from "../auth/auth-type"; import { AuthTokenType } from "../auth/auth-type";
import { TIdentityDALFactory } from "../identity/identity-dal"; import { TIdentityDALFactory } from "../identity/identity-dal";
import { TIdentityOrgDALFactory } from "../identity/identity-org-dal"; import { TMembershipIdentityDALFactory } from "../membership-identity/membership-identity-dal";
import { TIdentityAccessTokenDALFactory } from "./identity-access-token-dal"; import { TIdentityAccessTokenDALFactory } from "./identity-access-token-dal";
import { TIdentityAccessTokenJwtPayload, TRenewAccessTokenDTO } from "./identity-access-token-types"; import { TIdentityAccessTokenJwtPayload, TRenewAccessTokenDTO } from "./identity-access-token-types";
type TIdentityAccessTokenServiceFactoryDep = { type TIdentityAccessTokenServiceFactoryDep = {
identityAccessTokenDAL: TIdentityAccessTokenDALFactory; identityAccessTokenDAL: TIdentityAccessTokenDALFactory;
identityDAL: Pick<TIdentityDALFactory, "getTrustedIpsByAuthMethod">; identityDAL: Pick<TIdentityDALFactory, "getTrustedIpsByAuthMethod">;
identityOrgMembershipDAL: TIdentityOrgDALFactory;
accessTokenQueue: Pick< accessTokenQueue: Pick<
TAccessTokenQueueServiceFactory, TAccessTokenQueueServiceFactory,
"updateIdentityAccessTokenStatus" | "getIdentityTokenDetailsInCache" "updateIdentityAccessTokenStatus" | "getIdentityTokenDetailsInCache"
>; >;
membershipIdentityDAL: Pick<TMembershipIdentityDALFactory, "findOne">;
}; };
export type TIdentityAccessTokenServiceFactory = ReturnType<typeof identityAccessTokenServiceFactory>; export type TIdentityAccessTokenServiceFactory = ReturnType<typeof identityAccessTokenServiceFactory>;
export const identityAccessTokenServiceFactory = ({ export const identityAccessTokenServiceFactory = ({
identityAccessTokenDAL, identityAccessTokenDAL,
identityOrgMembershipDAL,
accessTokenQueue, accessTokenQueue,
identityDAL identityDAL,
membershipIdentityDAL
}: TIdentityAccessTokenServiceFactoryDep) => { }: TIdentityAccessTokenServiceFactoryDep) => {
const validateAccessTokenExp = async (identityAccessToken: TIdentityAccessTokens) => { const validateAccessTokenExp = async (identityAccessToken: TIdentityAccessTokens) => {
const { const {
@@ -202,8 +202,8 @@ export const identityAccessTokenServiceFactory = ({
trustedIps: trustedIps as TIp[] trustedIps: trustedIps as TIp[]
}); });
} }
const identityOrgMembership = await membershipIdentityDAL.findOne({
const identityOrgMembership = await identityOrgMembershipDAL.findOne({ scope: AccessScope.Organization,
actorIdentityId: identityAccessToken.identityId actorIdentityId: identityAccessToken.identityId
}); });