NextAuth から Lucia Auth への移行
なぜ Lucia Auth へ移行するのか
NextAuth は、認証のためのライブラリとしては非常に優れています。しかし、Lucia Auth は、より薄く、より柔軟で、よりシンプルな認証のためのライブラリです。
Next.js 以外にも、Sveltekit、Astro などをサポートしています。また、日本人の高校生が開発したということもあり、積極的に使っていきたいモチベーションがあります。
Lucia Auth への移行手順
恐らくベストプラクティスは確立されていないので、以下の手順はあくまで一例です。
1. Lucia Auth のインストール
npm install lucia-auth
2. 認証の実装
import { LuciaAuth } from "lucia-auth";
const auth = new LuciaAuth({
clientId: process.env.LUCIA_AUTH_CLIENT_ID,
clientSecret: process.env.LUCIA_AUTH_CLIENT_SECRET,
redirectUri: process.env.LUCIA_AUTH_REDIRECT_URI,
scope: "openid profile email",
audience: process.env.LUCIA_AUTH_AUDIENCE,
issuer: process.env.LUCIA_AUTH_ISSUER,
postLogoutRedirectUri: process.env.LUCIA_AUTH_POST_LOGOUT_REDIRECT_URI,
session: {
cookieSecret: process.env.LUCIA_AUTH_SESSION_COOKIE_SECRET,
cookieLifetime: 60 * 60 * 24 * 7, // 1 week
},
});