diff --git a/src/utils/urls/urlHelper.test.ts b/src/utils/urls/urlHelper.test.ts index 80f1422264..0bf9359964 100644 --- a/src/utils/urls/urlHelper.test.ts +++ b/src/utils/urls/urlHelper.test.ts @@ -82,16 +82,16 @@ describe('Shared urlHelper.ts', () => { test('returnUrlToArchive() returning correct environments without dialogId', () => { const partyId = 12345; expect(returnUrlToArchive(hostTT, partyId)).toBe( - 'https://tt02.altinn.no/ui/Reportee/ChangeReporteeAndRedirect?goTo=https%3A%2F%2Faf.tt02.altinn.no%2F&R=12345', + 'https://am.ui.tt02.altinn.no/accessmanagement/api/v1/reportee/changeandredirect?partyId=12345&goTo=https%3A%2F%2Faf.tt02.altinn.no%2F', ); expect(returnUrlToArchive(hostAT, partyId)).toBe( - 'https://at21.altinn.cloud/ui/Reportee/ChangeReporteeAndRedirect?goTo=https%3A%2F%2Faf.at21.altinn.cloud%2F&R=12345', + 'https://am.ui.at21.altinn.cloud/accessmanagement/api/v1/reportee/changeandredirect?partyId=12345&goTo=https%3A%2F%2Faf.at21.altinn.cloud%2F', ); expect(returnUrlToArchive(hostYT, partyId)).toBe( - 'https://yt01.altinn.cloud/ui/Reportee/ChangeReporteeAndRedirect?goTo=https%3A%2F%2Faf.yt01.altinn.cloud%2F&R=12345', + 'https://am.ui.yt01.altinn.cloud/accessmanagement/api/v1/reportee/changeandredirect?partyId=12345&goTo=https%3A%2F%2Faf.yt01.altinn.cloud%2F', ); expect(returnUrlToArchive(hostProd, partyId)).toBe( - 'https://altinn.no/ui/Reportee/ChangeReporteeAndRedirect?goTo=https%3A%2F%2Faf.altinn.no%2F&R=12345', + 'https://am.ui.altinn.no/accessmanagement/api/v1/reportee/changeandredirect?partyId=12345&goTo=https%3A%2F%2Faf.altinn.no%2F', ); expect(returnUrlToArchive(hostDocker, partyId)).toBe('http://local.altinn.cloud/'); expect(returnUrlToArchive(hostPodman, partyId)).toBe('http://local.altinn.cloud:8000/'); @@ -104,16 +104,16 @@ describe('Shared urlHelper.ts', () => { const partyId = 12345; const dialogId = '123e4567-e89b-12d3-a456-426614174000'; expect(returnUrlToArchive(hostTT, partyId, dialogId)).toBe( - 'https://tt02.altinn.no/ui/Reportee/ChangeReporteeAndRedirect?goTo=https%3A%2F%2Faf.tt02.altinn.no%2Finbox%2F123e4567-e89b-12d3-a456-426614174000&R=12345', + 'https://am.ui.tt02.altinn.no/accessmanagement/api/v1/reportee/changeandredirect?partyId=12345&goTo=https%3A%2F%2Faf.tt02.altinn.no%2Finbox%2F123e4567-e89b-12d3-a456-426614174000', ); expect(returnUrlToArchive(hostAT, partyId, dialogId)).toBe( - 'https://at21.altinn.cloud/ui/Reportee/ChangeReporteeAndRedirect?goTo=https%3A%2F%2Faf.at21.altinn.cloud%2Finbox%2F123e4567-e89b-12d3-a456-426614174000&R=12345', + 'https://am.ui.at21.altinn.cloud/accessmanagement/api/v1/reportee/changeandredirect?partyId=12345&goTo=https%3A%2F%2Faf.at21.altinn.cloud%2Finbox%2F123e4567-e89b-12d3-a456-426614174000', ); expect(returnUrlToArchive(hostYT, partyId, dialogId)).toBe( - 'https://yt01.altinn.cloud/ui/Reportee/ChangeReporteeAndRedirect?goTo=https%3A%2F%2Faf.yt01.altinn.cloud%2Finbox%2F123e4567-e89b-12d3-a456-426614174000&R=12345', + 'https://am.ui.yt01.altinn.cloud/accessmanagement/api/v1/reportee/changeandredirect?partyId=12345&goTo=https%3A%2F%2Faf.yt01.altinn.cloud%2Finbox%2F123e4567-e89b-12d3-a456-426614174000', ); expect(returnUrlToArchive(hostProd, partyId, dialogId)).toBe( - 'https://altinn.no/ui/Reportee/ChangeReporteeAndRedirect?goTo=https%3A%2F%2Faf.altinn.no%2Finbox%2F123e4567-e89b-12d3-a456-426614174000&R=12345', + 'https://am.ui.altinn.no/accessmanagement/api/v1/reportee/changeandredirect?partyId=12345&goTo=https%3A%2F%2Faf.altinn.no%2Finbox%2F123e4567-e89b-12d3-a456-426614174000', ); expect(returnUrlToArchive(hostDocker, partyId, dialogId)).toBe('http://local.altinn.cloud/'); expect(returnUrlToArchive(hostPodman, partyId, dialogId)).toBe('http://local.altinn.cloud:8000/'); diff --git a/src/utils/urls/urlHelper.ts b/src/utils/urls/urlHelper.ts index b1e7aeda72..55c88c5b16 100644 --- a/src/utils/urls/urlHelper.ts +++ b/src/utils/urls/urlHelper.ts @@ -25,8 +25,12 @@ function buildArbeidsflateUrl(altinnHost: string): string { return `https://af.${altinnHost}/`; } +function buildAccessManagementBaseUrl(altinnHost: string): string { + return `https://am.ui.${altinnHost}/`; +} + function redirectAndChangeParty(goTo: string, partyId: number): string { - return `ui/Reportee/ChangeReporteeAndRedirect?goTo=${encodeURIComponent(goTo)}&R=${partyId}`; + return `accessmanagement/api/v1/reportee/changeandredirect?partyId=${partyId}&goTo=${encodeURIComponent(goTo)}`; } export const returnBaseUrlToAltinn = (host: string): string | undefined => { @@ -42,9 +46,8 @@ function buildArbeidsflateRedirectUrl(host: string, partyId?: number, dialogId?: return `http://${host}/`; } - const baseUrl = returnBaseUrlToAltinn(host); const altinnHost = extractAltinnHost(host); - if (!baseUrl || !altinnHost) { + if (!altinnHost) { return undefined; } @@ -55,8 +58,9 @@ function buildArbeidsflateRedirectUrl(host: string, partyId?: number, dialogId?: return targetUrl; } - // Use A2 redirect mechanism with A3 arbeidsflate URL to maintain party context - return `${baseUrl}${redirectAndChangeParty(targetUrl, partyId)}`; + // Use access management changeandredirect endpoint to switch party and redirect to A3 arbeidsflate + const amBaseUrl = buildAccessManagementBaseUrl(altinnHost); + return `${amBaseUrl}${redirectAndChangeParty(targetUrl, partyId)}`; } export const getMessageBoxUrl = (partyId?: number, dialogId?: string): string | undefined =>