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