joe80813
03/26/2024, 7:41 AMrp_st
03/26/2024, 7:42 AMjoe80813
03/26/2024, 7:42 AMrp_st
03/26/2024, 7:43 AMjoe80813
03/26/2024, 7:44 AMrp_st
03/26/2024, 7:45 AMjoe80813
03/26/2024, 7:45 AMDarko
03/26/2024, 7:53 AMDarko
03/26/2024, 7:53 AMDarko
03/26/2024, 7:53 AMjoe80813
03/26/2024, 8:13 AMDarko
03/26/2024, 8:14 AMDarko
03/26/2024, 8:14 AMDarko
03/26/2024, 8:14 AMDarko
03/26/2024, 8:15 AMDarko
03/26/2024, 8:16 AMjoe80813
03/26/2024, 8:19 AMjoe80813
03/26/2024, 3:43 PMrp_st
03/26/2024, 3:57 PMjoe80813
03/26/2024, 4:01 PMjoe80813
03/27/2024, 4:40 AMnpx create-remix@latest --template remix-run/remix/templates/express
Darko
03/27/2024, 8:42 AMDarko
03/27/2024, 8:42 AMDarko
03/27/2024, 8:43 AMjoe80813
03/27/2024, 12:42 PMenv
here?
Still using process.env...
?
Doesn't seem to workDarko
03/27/2024, 12:44 PMDarko
03/27/2024, 12:44 PMDarko
03/27/2024, 12:44 PMjoe80813
03/27/2024, 12:47 PMDarko
03/27/2024, 12:56 PMDarko
03/27/2024, 1:00 PMDarko
03/27/2024, 1:00 PMjoe80813
03/27/2024, 1:17 PMjoe80813
03/27/2024, 1:18 PMenv
?joe80813
03/27/2024, 1:18 PMremix.config
?Darko
03/27/2024, 1:35 PMDarko
03/27/2024, 1:35 PMDarko
03/27/2024, 1:35 PMDarko
03/27/2024, 1:35 PMDarko
03/27/2024, 1:35 PMDarko
03/27/2024, 1:35 PMjoe80813
03/27/2024, 1:41 PMDarko
03/27/2024, 1:42 PMDarko
03/27/2024, 1:43 PMjoe80813
03/27/2024, 1:43 PMjoe80813
03/27/2024, 2:18 PMaction
for route "routes/supertokens.$", so there is no way to handle the request.`
Do you encounter this also?Darko
03/27/2024, 2:24 PMDarko
03/27/2024, 2:24 PMDarko
03/27/2024, 2:24 PMDarko
03/27/2024, 2:24 PMjoe80813
03/27/2024, 2:32 PMDarko
03/27/2024, 2:37 PMjoe80813
03/27/2024, 2:49 PMreact-router-dom
to @remix-run/node
or @remix-run/react
Saw it in some of your filesDarko
03/27/2024, 2:53 PMDarko
03/27/2024, 2:53 PMDarko
03/27/2024, 2:53 PMjoe80813
03/27/2024, 3:14 PM_index.tsx
besides the purpose of displaying user data?
I tried removing it and it still works. It still redirects to the login page when unauthenticated.
I ask this question because if an app has multiple pages/routes, do we need to declare this in every page?Darko
03/27/2024, 3:21 PMDarko
03/27/2024, 3:21 PMDarko
03/27/2024, 3:21 PMDarko
03/27/2024, 3:22 PMDarko
03/27/2024, 3:22 PMDarko
03/27/2024, 3:22 PMDarko
03/27/2024, 3:22 PMjoe80813
03/27/2024, 3:24 PMroot.tsx
though?
<SuperTokensWrapper>
{isUnprotectedRoute ? (
<Outlet />
) : (
<SessionAuth>
<Outlet />
</SessionAuth>
)}
</SuperTokensWrapper>
Darko
03/27/2024, 3:26 PMDarko
03/27/2024, 3:26 PMDarko
03/27/2024, 3:26 PMDarko
03/27/2024, 3:26 PMDarko
03/27/2024, 3:27 PMDarko
03/27/2024, 3:27 PMjoe80813
03/27/2024, 3:29 PM_index.tsx
and it still redirected me to the auth page when unautheticated πDarko
03/27/2024, 3:30 PMDarko
03/27/2024, 3:31 PMDarko
03/27/2024, 3:31 PMjoe80813
03/27/2024, 3:31 PMDarko
03/27/2024, 3:32 PMDarko
03/27/2024, 3:32 PMDarko
03/27/2024, 3:32 PMjoe80813
03/27/2024, 3:33 PM<SessionAuthForRemix>
in the return.Darko
03/27/2024, 3:33 PMDarko
03/27/2024, 3:33 PMDarko
03/27/2024, 3:35 PMDarko
03/27/2024, 3:35 PMDarko
03/27/2024, 3:35 PMDarko
03/27/2024, 3:36 PMjoe80813
03/27/2024, 4:07 PMrp_st
03/27/2024, 4:08 PMjoe80813
03/27/2024, 4:09 PMenv
? πDarko
03/27/2024, 4:56 PMDarko
03/27/2024, 4:57 PMDarko
03/27/2024, 4:57 PMjoe80813
03/27/2024, 5:09 PMenv
file:
SUPERTOKENS_CONNECTION_URI=https://s......
SUPERTOKENS_API_KEY=v.....
then on the vite.config
, I have this
import { vitePlugin as remix } from "@remix-run/dev";
import { installGlobals } from "@remix-run/node";
import { flatRoutes } from "remix-flat-routes";
import { defineConfig } from "vite";
import tsconfigPaths from "vite-tsconfig-paths";
installGlobals();
export default defineConfig({
server: {
port: 3000,
},
plugins: [
remix({
ignoredRouteFiles: ["**/*.css"],
routes: async (defineRoutes) => {
return flatRoutes("routes", defineRoutes);
},
}),
tsconfigPaths(),
],
define: {
"process.env": {
SUPERTOKENS_CONNECTION_URI: process.env.SUPERTOKENS_CONNECTION_URI,
SUPERTOKENS_API_KEY: process.env.SUPERTOKENS_API_KEY,
},
},
});
How should I call this on a file? Like this?
export let backendConfig = (): TypeInput => {
return {
supertokens: {
connectionURI: process.env.SUPERTOKENS_CONNECTION_URI,
apiKey: process.env.SUPERTOKENS_API_KEY
},
appInfo,
recipeList: [
PasswordlessNode.init({
contactMethod: "EMAIL_OR_PHONE",
flowType: "USER_INPUT_CODE_AND_MAGIC_LINK",
}),
SessionNode.init(),
Dashboard.init(),
UserRoles.init(),
],
isInServerlessEnv: true,
framework: "custom",
};
};
Darko
03/27/2024, 5:39 PMjoe80813
03/28/2024, 5:46 AMvite.config.ts
,
what's the purpose of installGlobals();
?Darko
03/28/2024, 7:17 AMDarko
03/28/2024, 7:17 AMDarko
03/28/2024, 7:18 AMDarko
03/28/2024, 7:18 AMDarko
03/28/2024, 7:19 AMDarko
03/28/2024, 7:19 AMjoe80813
03/28/2024, 7:54 AMinstallGlobals
.
This is my entry.server.ts
joe80813
03/28/2024, 7:54 AMentry.client.ts
but I don't think having that does matter.Darko
03/28/2024, 8:12 AMDarko
03/28/2024, 8:12 AMDarko
03/28/2024, 8:12 AMjoe80813
03/28/2024, 8:12 AMjoe80813
03/28/2024, 8:13 AMvite.config.ts
, and the page that doesn't have the supertokens code worked. But if I added it back, the page that has the supertokens code in it worked, while the other pages that don't have the supertokens code don't work.
define: {
"process.env": {},
},
Darko
03/28/2024, 8:14 AMDarko
03/28/2024, 8:15 AMDarko
03/28/2024, 8:15 AMDarko
03/28/2024, 8:15 AMjoe80813
03/28/2024, 8:15 AMjoe80813
03/28/2024, 8:16 AMjoe80813
03/28/2024, 8:17 AMDarko
03/28/2024, 8:20 AMDarko
03/28/2024, 8:20 AMDarko
03/28/2024, 8:21 AMDarko
03/28/2024, 8:21 AMDarko
03/28/2024, 8:21 AMDarko
03/28/2024, 8:21 AMDarko
03/28/2024, 8:21 AMjoe80813
03/28/2024, 8:28 AMprocess.env
not import.meta.env
Darko
03/28/2024, 8:46 AMDarko
03/28/2024, 8:46 AMjoe80813
04/01/2024, 4:21 AMroutes
> sessioninfo.$.tsx
? What's the purpose of it?
2. Is apiBasePath
in your example is the routes
> supertokens.$.tsx
? What's the purpose of it?
3. Is websiteBasePath
in your example is the routes
> auth.$.tsx
? What's the purpose of it? Is it the path where our login UI will be renderedrp_st
04/01/2024, 5:03 AMjoe80813
04/01/2024, 5:24 AMsessioninfo.$.tsx
?rp_st
04/01/2024, 5:24 AMjoe80813
04/01/2024, 7:59 AMany
. Thank you.
1. https://github.com/supertokens/create-supertokens-app/blob/master/boilerplate/fullstack/remix/app/superTokensHelpers.ts#L106
2. https://github.com/supertokens/create-supertokens-app/blob/master/boilerplate/fullstack/remix/app/superTokensHelpers.ts#L172Darko
04/01/2024, 8:02 AMDarko
04/01/2024, 8:02 AMDarko
04/01/2024, 8:03 AMgetInstanceOrThrowError
on SessionRecipe
Darko
04/01/2024, 8:03 AMDarko
04/01/2024, 8:10 AMDarko
04/01/2024, 8:10 AMDarko
04/01/2024, 8:10 AMjoe80813
04/01/2024, 8:16 AMrp_st
04/02/2024, 8:13 AMrp_st
04/02/2024, 8:13 AMjoe80813
04/02/2024, 8:14 AMrp_st
04/02/2024, 8:14 AMrp_st
04/02/2024, 8:16 AMjoe80813
04/02/2024, 8:17 AMsupertokens-web-js
, right?rp_st
04/02/2024, 8:18 AMrp_st
04/02/2024, 8:18 AMrp_st
04/02/2024, 8:18 AMrp_st
04/02/2024, 8:18 AMjoe80813
04/02/2024, 8:20 AM"supertokens-web-js": "^0.9.1"
Problems it conflicts with mine?rp_st
04/02/2024, 8:20 AMjoe80813
04/02/2024, 8:22 AMrp_st
04/02/2024, 8:22 AMrp_st
04/02/2024, 8:23 AMjoe80813
04/02/2024, 1:09 PMroot.tsx
. Thank you.rp_st
04/02/2024, 1:10 PMjoe80813
04/02/2024, 1:18 PMrp_st
04/02/2024, 1:19 PMjoe80813
04/02/2024, 1:21 PMrp_st
04/02/2024, 1:22 PMrp_st
04/02/2024, 1:22 PMrp_st
04/02/2024, 1:22 PMjoe80813
04/02/2024, 1:24 PMroot.tsx
?rp_st
04/02/2024, 1:24 PMjoe80813
04/02/2024, 1:42 PMfrontendConfig()
It says something likerp_st
04/02/2024, 1:43 PMjoe80813
04/02/2024, 1:47 PMfrontend.tsx
import type { SuperTokensConfig } from "supertokens-auth-react/lib/build/types";
import Session from "supertokens-auth-react/recipe/session/index.js";
import ThirdPartyEmailPasswordReact from "supertokens-auth-react/recipe/thirdpartyemailpassword/index.js";
import { ThirdPartyEmailPasswordPreBuiltUI } from "supertokens-auth-react/recipe/thirdpartyemailpassword/prebuiltui.js";
import { appInfo } from "./appInfo";
export const frontendConfig = (): SuperTokensConfig => {
return {
appInfo,
recipeList: [
ThirdPartyEmailPasswordReact.init({
signInAndUpFeature: {
providers: [ThirdPartyEmailPasswordReact.Google.init()],
},
}),
Session.init(),
],
};
};
export const PreBuiltUIList = [ThirdPartyEmailPasswordPreBuiltUI];
rp_st
04/02/2024, 1:50 PMrp_st
04/02/2024, 1:50 PMjoe80813
04/02/2024, 1:52 PMrp_st
04/02/2024, 1:52 PMnpx create-supertokens-app@latest
rp_st
04/02/2024, 1:52 PMjoe80813
04/02/2024, 1:52 PMjoe80813
04/02/2024, 1:53 PMrp_st
04/02/2024, 1:53 PMjoe80813
04/02/2024, 2:11 PMrp_st
04/02/2024, 2:13 PMjoe80813
04/02/2024, 3:47 PMroot.tsx
, it got fixed.
I also have to manually add /auth
to the url too.
<SuperTokensWrapper>
{isUnprotectedRoute ? (
<Outlet />
) : (
<SessionAuth>
<Outlet />
</SessionAuth>
)}
<ScrollRestoration />
<Scripts />
</SuperTokensWrapper>
rp_st
04/02/2024, 3:48 PMjoe80813
04/02/2024, 3:49 PM