Next.js+Auth0でSSR/CSR/WebAPIの認証を行う方法

この記事は公開から1年以上経過しています。

TypeScript(4.9.5)+Next.js(13.1.6)+Auth0(2.2.1)で、SSR/CSR/Web APIで認証を行う方法についての備忘録。


サンプルソースコード

SSR

import { withPageAuthRequired } from '@auth0/nextjs-auth0'
import { UserProfile } from '@auth0/nextjs-auth0/client'
import { NextPage } from 'next'

type SecretPageProps = {
  user: UserProfile
}

const SecretPage: NextPage<SecretPageProps> = ({ user }: SecretPageProps) => {
  return <div>Authenticated({user.name})</div>
}

export const getServerSideProps = withPageAuthRequired()

export default SecretPage

認証前

file

認証後

file


CSR

import { UserProfile, withPageAuthRequired } from '@auth0/nextjs-auth0/client'
import { NextPage } from 'next'

type SecretPageProps = {
  user: UserProfile
}

const SecretPage: NextPage<SecretPageProps> = ({ user }: SecretPageProps) => {
  return <div>Authenticated({user.name})</div>
}

export default withPageAuthRequired(SecretPage)

認証前

file

認証後

file


WebAPI(API Routes)

import { getSession, withApiAuthRequired } from '@auth0/nextjs-auth0'

export default withApiAuthRequired(async (req, res) => {
  const session = await getSession(req, res)
  res.json({ status: `Authenticated(${session?.user.name})` })
})

認証前

file

認証後

file


参考ウェブサイトなど

  • GitHub
    auth0/nextjs-auth0/Examples


以上です。

シェアする

  • このエントリーをはてなブックマークに追加

フォローする