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 24 | export const getRedirectPath = (search: string): string | null => { // redirectクエリパラメータを取得 const params = new URLSearchParams(search); const redirectParam = params.get('redirect'); // 有効なパスかどうかを検証 if (!redirectParam) return null; if (!redirectParam.startsWith('/') || redirectParam.startsWith('//')) { return null; } return redirectParam; }; export const buildCallbackURL = (redirectPath: string | null): string => { // 環境変数からリダイレクトURLを取得し、必要に応じてredirectクエリパラメータを追加 const baseRedirectURL = import.meta.env.VITE_CLIENT_URL satisfies string; if (!redirectPath) { // redirectパスがない場合、ルートのページのURLを返す return `${baseRedirectURL}/`; } // redirectパスがある場合、クエリパラメータとして追加して返す return `${baseRedirectURL}?redirect=${encodeURIComponent(redirectPath)}`; }; |