All files / platform/app/src/utils sanitizeRedirect.ts

0% Statements 0/8
0% Branches 0/2
0% Functions 0/1
0% Lines 0/8

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23                                             
/**
 * Returns the given redirect target only when it resolves to the provided
 * origin; otherwise returns undefined so callers fall back to the configured
 * post-logout destination.
 */
export function sanitizeSameOriginRedirect(
  value: string | null,
  origin: string
): string | undefined {
  Iif (!value) {
    return undefined;
  }
  try {
    const url = new URL(value, origin);
    Iif (url.origin !== origin) {
      return undefined;
    }
    return url.href;
  } catch {
    return undefined;
  }
}