yiannis.gkoufas
08/10/2022, 8:13 PMrp_st
08/11/2022, 3:26 AMrp_st
08/11/2022, 3:27 AMyiannis.gkoufas
08/11/2022, 7:20 AMrp_st
08/11/2022, 7:21 AMyiannis.gkoufas
08/11/2022, 7:24 AMyiannis.gkoufas
08/11/2022, 7:26 AMSuperTokens.init({
appInfo: {
appName: "SuperTokens Demo App", // TODO: Your app name
apiDomain: getApiDomain(), // TODO: Change to your app's API domain
websiteDomain: getWebsiteDomain(), // TODO: Change to your app's website domain
},
recipeList: [
ThirdPartyEmailPassword.init({
signInAndUpFeature: {
providers: [Google.init()],
disableDefaultUI: true,
},
}),
Session.init(),
],
});
function App() {
return (
<SuperTokensWrapper>
<div className="App">
<Router>
<div className="fill">
<Routes>
{/* This shows the login UI on "/auth" route */}
{getSuperTokensRoutesForReactRouterDom(require("react-router-dom"))}
<Route
path="/"
element={
/* This protects the "/" route so that it shows
<Home /> only if the user is logged in.
Else it redirects the user to "/auth" */
<div>
Hello
<SignInAndUp></SignInAndUp>
</div>
}
/>
</Routes>
</div>
</Router>
</div>
</SuperTokensWrapper>
);
}
export default App;
rp_st
08/11/2022, 7:27 AMSignInAndUp
will redirect them to /
by default, which will display SignInAndUp
again, which will do a redirection again and so onrp_st
08/11/2022, 7:28 AMSignInAndUp
is rendered, or else change where it redirects to post login: https://supertokens.com/docs/thirdpartyemailpassword/common-customizations/redirecting-post-loginyiannis.gkoufas
08/11/2022, 7:29 AMrp_st
08/11/2022, 7:33 AM/
logic to be something like this:
ts
import Session from "supertokens-auth-react/recipe/session";
function Home() {
let sessionContext = Session.useSessionContext();
if (sessionContext.loading) {
return null;
}
if (sessionContext.doesSessionExist) {
// render home component..
} else {
return <SignInAndUp />
}
}
And then your router becomes:
ts
function App() {
return (
<SuperTokensWrapper>
<div className="App">
<Router>
<div className="fill">
<Routes>
{/* This shows the login UI on "/auth" route */}
{getSuperTokensRoutesForReactRouterDom(require("react-router-dom"))}
<Route
path="/"
element={
<Home />
}
/>
</Routes>
</div>
</Router>
</div>
</SuperTokensWrapper>
);
}
yiannis.gkoufas
08/11/2022, 7:35 AMrp_st
08/11/2022, 7:35 AMThirdPartyEmailPasswordAuth
then.rp_st
08/11/2022, 7:36 AMyiannis.gkoufas
08/11/2022, 7:36 AMrp_st
08/11/2022, 7:37 AMSuperTokens is an open source authentication solution offering features like: Different types of login: Email / password, Passwordless (OTP or Magic link based).
Powered by