2. Showing the Login UI
What type of UI are you using?
1. Create the pages/auth/[[...path]].tsx
page
- Be sure to create the
auth
folder in thepages
folder. [[...path]].tsx
will contain the component for showing SuperTokens UI
2. Create the Auth
component:
pages/auth/[[...path]].tsx
import React, { useEffect } from 'react'
import dynamic from 'next/dynamic'
import { EmailPasswordPreBuiltUI } from 'supertokens-auth-react/recipe/emailpassword/prebuiltui';
import { redirectToAuth } from 'supertokens-auth-react'
import { canHandleRoute, getRoutingComponent } from 'supertokens-auth-react/ui'
const SuperTokensComponentNoSSR = dynamic<{}>(
new Promise((res) => res(() => getRoutingComponent([EmailPasswordPreBuiltUI]))),
{ ssr: false }
)
export default function Auth() {
// if the user visits a page that is not handled by us (like /auth/random), then we redirect them back to the auth page.
useEffect(() => {
if (canHandleRoute([EmailPasswordPreBuiltUI]) === false) {
redirectToAuth()
}
}, [])
return (
<SuperTokensComponentNoSSR />
)
}
3. Visit /auth
page on your website
If you see a login UI, then you have successfully completed this step! You can also see all designs of our pre-built UI, for each page on this link.
If you cannot see the UI in your app, please feel free to ask questions on Discord