コンテンツにスキップ

unauthorized.js

この機能は現在実験的であり、変更される可能性があります。本番環境での使用は推奨されません。お試しいただき、GitHubでフィードバックをお寄せください。

unauthorized ファイルは、認証中にunauthorized関数が呼び出されたときにUIをレンダリングするために使用されます。UIをカスタマイズできるだけでなく、Next.jsは401ステータスコードを返します。

app/unauthorized.tsx
import Login from '@/app/components/Login'
 
export default function Unauthorized() {
  return (
    <main>
      <h1>401 - Unauthorized</h1>
      <p>Please log in to access this page.</p>
      <Login />
    </main>
  )
}

リファレンス

Props

unauthorized.jsコンポーネントはプロップを受け取りません。

未認証ユーザーへのログインUIの表示

unauthorized関数を使用して、ログインUIでunauthorized.jsファイルをレンダリングできます。

app/dashboard/page.tsx
import { verifySession } from '@/app/lib/dal'
import { unauthorized } from 'next/navigation'
 
export default async function DashboardPage() {
  const session = await verifySession()
 
  if (!session) {
    unauthorized()
  }
 
  return <div>Dashboard</div>
}
app/unauthorized.tsx
import Login from '@/app/components/Login'
 
export default function UnauthorizedPage() {
  return (
    <main>
      <h1>401 - Unauthorized</h1>
      <p>Please log in to access this page.</p>
      <Login />
    </main>
  )
}

バージョン履歴

バージョン変更履歴
v15.1.0unauthorized.js が導入されました。