アプリのビルド時ではなく、アプリの実行時に環境変数の値を読む必要がある場合、$env/static/private
の代わりに $env/dynamic/private
を使用することができます。
src/routes/+page.server.js
import { redirect, fail } from '@sveltejs/kit';
import { env } from '$env/dynamic/private';
export function load({ cookies }) {
if (cookies.get('allowed')) {
throw redirect(307, '/welcome');
}
}
export const actions = {
default: async ({ request, cookies }) => {
const data = await request.formData();
if (data.get('passphrase') === env.PASSPHRASE) {
cookies.set('allowed', 'true', {
path: '/'
});
throw redirect(303, '/welcome');
}
return fail(403, {
incorrect: true
});
}
};