targetBaseUrl()); if (!is_array($parts) || !is_array($base)) { throw new InvalidArgumentException('Invalid login URL'); } $scheme = strtolower((string)($parts['scheme'] ?? '')); $host = strtolower((string)($parts['host'] ?? '')); $baseHost = strtolower((string)($base['host'] ?? '')); $port = (int)($parts['port'] ?? ($scheme === 'https' ? 443 : 80)); $basePort = (int)($base['port'] ?? 443); parse_str((string)($parts['query'] ?? ''), $query); if ($scheme !== 'https' || $host !== $baseHost || $port !== $basePort || ($parts['path'] ?? '') !== '/api/login/url' || empty($query['key'])) { throw new InvalidArgumentException('Invalid login URL'); } return $url; } }