lucia-auth / lucia

Authentication, simple and clean
https://lucia-auth.com
BSD Zero Clause License
9.47k stars 487 forks source link

TypeError when building #57

Closed bhark closed 2 years ago

bhark commented 2 years ago

Description

When building a pretty bare-bones app using adapter-auto, set up exactly according to the docs, the build fails with the below stacktrace. Building with adapter-node succeeds, but every page gives the same error 500.

Running in development mode works flawlessly. Building locally and running in preview mode also works.

Stacktrace

✓ 87 modules transformed.
.svelte-kit/output/server/vite-manifest.json                                 4.79 KiB
.svelte-kit/output/server/index.js                                           60.08 KiB
.svelte-kit/output/server/entries/endpoints/admin/dashboard/api/_server.js   4.24 KiB
.svelte-kit/output/server/entries/pages/_layout.svelte.js                    5.89 KiB
.svelte-kit/output/server/entries/pages/_layout.server.js                    0.31 KiB
.svelte-kit/output/server/entries/fallbacks/error.svelte.js                  0.60 KiB
.svelte-kit/output/server/entries/pages/admin/_layout.svelte.js              0.23 KiB
.svelte-kit/output/server/entries/pages/_page.svelte.js                      4.16 KiB
.svelte-kit/output/server/entries/pages/_page.js                             0.36 KiB
.svelte-kit/output/server/entries/pages/_page.server.js                      1.33 KiB
.svelte-kit/output/server/entries/pages/admin/dashboard/_page.svelte.js      16.78 KiB
.svelte-kit/output/server/entries/pages/admin/dashboard/_page.js             1.31 KiB
.svelte-kit/output/server/entries/pages/admin/login/_page.svelte.js          1.19 KiB
.svelte-kit/output/server/entries/pages/admin/login/_page.server.js          1.31 KiB
.svelte-kit/output/server/entries/pages/admin/register/_page.svelte.js       1.93 KiB
.svelte-kit/output/server/entries/pages/admin/register/_page.server.js       0.93 KiB
.svelte-kit/output/server/chunks/env-private.js                              0.12 KiB
.svelte-kit/output/server/chunks/env-public.js                               0.12 KiB
.svelte-kit/output/server/chunks/index.js                                    4.23 KiB
.svelte-kit/output/server/chunks/index2.js                                   0.73 KiB
.svelte-kit/output/server/chunks/index3.js                                   1.29 KiB
.svelte-kit/output/server/chunks/supabase.js                                 0.24 KiB
.svelte-kit/output/server/chunks/utils.js                                    0.22 KiB
.svelte-kit/output/server/chunks/lucia.js                                    24.95 KiB
.svelte-kit/output/server/chunks/errors.js                                   0.09 KiB
.svelte-kit/output/server/chunks/stores.js                                   1.00 KiB
.svelte-kit/output/server/chunks/hooks.js                                    0.28 KiB
undefined
TypeError [ERR_INVALID_ARG_TYPE]: The "password" argument must be of type string or an instance of ArrayBuffer, Buffer, TypedArray, or DataView. Received undefined
    at check (node:internal/crypto/scrypt:89:14)
    at Object.scryptSync (node:internal/crypto/scrypt:70:13)
    at new Encrypter (file:///home/x/x/asclepius/.svelte-kit/output/server/chunks/lucia.js:25:23)
    at new EncryptedRefreshToken (file:///home/x/x/asclepius/.svelte-kit/output/server/chunks/lucia.js:163:22)
    at handleTokens (file:///home/x/x/asclepius/.svelte-kit/output/server/chunks/lucia.js:333:35)
    at handleTokens (file:///home/x/x/asclepius/.svelte-kit/output/server/chunks/lucia.js:685:46)
    at apply_handle (file:///home/x/x/asclepius/.svelte-kit/output/server/chunks/lucia.js:54:14)
    at file:///home/x/x/asclepius/.svelte-kit/output/server/chunks/lucia.js:51:12
    at Object.handleAuth [as handle] (file:///home/x/x/asclepius/.svelte-kit/output/server/chunks/lucia.js:696:61)
    at respond (file:///home/x/x/asclepius/.svelte-kit/output/server/index.js:1611:42)
TypeError [ERR_INVALID_ARG_TYPE]: The "password" argument must be of type string or an instance of ArrayBuffer, Buffer, TypedArray, or DataView. Received undefined
    at check (node:internal/crypto/scrypt:89:14)
    at Object.scryptSync (node:internal/crypto/scrypt:70:13)
    at new Encrypter (file:///home/x/x/asclepius/.svelte-kit/output/server/chunks/lucia.js:25:23)
    at new EncryptedRefreshToken (file:///home/x/x/asclepius/.svelte-kit/output/server/chunks/lucia.js:163:22)
    at handleTokens (file:///home/x/x/asclepius/.svelte-kit/output/server/chunks/lucia.js:333:35)
    at handleTokens (file:///home/x/x/asclepius/.svelte-kit/output/server/chunks/lucia.js:685:46)
    at apply_handle (file:///home/x/x/asclepius/.svelte-kit/output/server/chunks/lucia.js:54:14)
    at file:///home/x/x/asclepius/.svelte-kit/output/server/chunks/lucia.js:51:12
    at Object.handleAuth [as handle] (file:///home/x/x/asclepius/.svelte-kit/output/server/chunks/lucia.js:696:61)
    at respond (file:///home/x/x/asclepius/.svelte-kit/output/server/index.js:1611:42)
TypeError [ERR_INVALID_ARG_TYPE]: The "password" argument must be of type string or an instance of ArrayBuffer, Buffer, TypedArray, or DataView. Received undefined
    at check (node:internal/crypto/scrypt:89:14)
    at Object.scryptSync (node:internal/crypto/scrypt:70:13)
    at new Encrypter (file:///home/x/x/asclepius/.svelte-kit/output/server/chunks/lucia.js:25:23)
    at new EncryptedRefreshToken (file:///home/x/x/asclepius/.svelte-kit/output/server/chunks/lucia.js:163:22)
    at handleTokens (file:///home/x/x/asclepius/.svelte-kit/output/server/chunks/lucia.js:333:35)
    at handleTokens (file:///home/x/x/asclepius/.svelte-kit/output/server/chunks/lucia.js:685:46)
    at apply_handle (file:///home/x/x/asclepius/.svelte-kit/output/server/chunks/lucia.js:54:14)
    at file:///home/x/x/asclepius/.svelte-kit/output/server/chunks/lucia.js:51:12
    at Object.handleAuth [as handle] (file:///home/x/x/asclepius/.svelte-kit/output/server/chunks/lucia.js:696:61)
    at respond (file:///home/x/x/asclepius/.svelte-kit/output/server/index.js:1611:42)
TypeError [ERR_INVALID_ARG_TYPE]: The "password" argument must be of type string or an instance of ArrayBuffer, Buffer, TypedArray, or DataView. Received undefined
    at check (node:internal/crypto/scrypt:89:14)
    at Object.scryptSync (node:internal/crypto/scrypt:70:13)
    at new Encrypter (file:///home/x/x/asclepius/.svelte-kit/output/server/chunks/lucia.js:25:23)
    at new EncryptedRefreshToken (file:///home/x/x/asclepius/.svelte-kit/output/server/chunks/lucia.js:163:22)
    at handleTokens (file:///home/x/x/asclepius/.svelte-kit/output/server/chunks/lucia.js:333:35)
    at handleTokens (file:///home/x/x/asclepius/.svelte-kit/output/server/chunks/lucia.js:685:46)
    at apply_handle (file:///home/x/x/asclepius/.svelte-kit/output/server/chunks/lucia.js:54:14)
    at file:///home/x/x/asclepius/.svelte-kit/output/server/chunks/lucia.js:51:12
    at Object.handleAuth [as handle] (file:///home/x/x/asclepius/.svelte-kit/output/server/chunks/lucia.js:696:61)
    at respond (file:///home/x/x/asclepius/.svelte-kit/output/server/index.js:1611:42)
file:///home/x/x/asclepius/node_modules/@sveltejs/kit/src/core/prerender/prerender.js:48
                throw new Error(format_error(details, config));
                      ^

Error: 500 / at file:///home/x/x/asclepius/node_modules/@sveltejs/kit/src/core/prerender/prerender.js:48:11 at save (file:///home/x/x/asclepius/node_modules/@sveltejs/kit/src/core/prerender/prerender.js:336:4) at visit (file:///home/x/x/asclepius/node_modules/@sveltejs/kit/src/core/prerender/prerender.js:223:3)

Page error

500
The "password" argument must be of type string or an instance of ArrayBuffer, Buffer, TypedArray, or DataView. Received undefined
TypeError [ERR_INVALID_ARG_TYPE]: The "password" argument must be of type string or an instance of ArrayBuffer, Buffer, TypedArray, or DataView. Received undefined

Platform

bhark commented 2 years ago

Apparently, this error was caused by environment variables being inaccessible. Apologies.