2025-03-26プログラミング2 min read

Clerkでログイン認証を簡単に実装してみた

この記事にはPRを含みます

Clerkでログイン認証を簡単に実装してみた

目次

認証サービスの一つであるClerkを試してみました

環境

  • Next.js 15.2.1
  • Clerk 6.12.9

手順

Clerkのインストール

npm install @clerk/nextjs

middleware.tsを作成

import { clerkMiddleware } from "@clerk/nextjs/server";

export default clerkMiddleware();

フロントの作成

以下のような感じでざっくりレイアウト作成

import {
  ClerkProvider,
  SignedIn,
  SignedOut,
  SignInButton,
  SignUpButton,
  UserButton,
} from "@clerk/nextjs";
import "./globals.css";

export default function Layout() {
  return (
    <ClerkProvider>
      <html lang="ja">
        <body>
          <div className="h-screen flex flex-col justify-center items-center bg-gray-100">
            <SignedOut>
              <div className="space-x-4">
                <div className="px-4 py-2 bg-blue-500 text-white rounded hover:bg-blue-600">
                  <SignInButton />
                </div>
                <div className="px-4 py-2 bg-green-500 text-white rounded hover:bg-green-600">
                  <SignUpButton />
                </div>
              </div>
            </SignedOut>
            <SignedIn>
              <div className="flex items-center space-x-4">
                <UserButton />
                <span className="text-gray-700">Welcome back!</span>
              </div>
            </SignedIn>
          </div>
        </body>
      </html>
    </ClerkProvider>
  );
}

実際の画面

Sign in押すと

Googleアカウント使ってログインしたら元の画面に戻されて表示が変わる

まとめ

少ないステップで簡単に認証処理の作成ができました!

無料プランではクレカの登録も必要なく、アクティブユーザ1万人までの制限なので個人開発などではもってこいなサービスだと思います

profile

たこやま

フリーランスエンジニアやってます