比較用に生の Node.js といくつかの Node.js フレームワークでログイン処理を作ってみたもの
https://gitlab.com/nexpr/nodejs-login
◯ Node.js
◯ koa
◯ api
◯ fastify
の 4 種類
パスが /secret/ の内側のみ 通常のルートも静的ファイルもログインが必要
外側なら誰でも見える
/ が各ページへのリンクがあるインデックスページ
ログインは id/pw を POST して cookie に保存するスタンダードなもの
ログインできるユーザ情報は user1/PW で固定
それぞれにログイン周りが少し違う 2 パターンを用意 (1.js と 2.js)
違いはログインしてない状態でログイン必要がページを開いたときの動き
1.js では /secret/login にログイン画面を用意
ここにリダイレクトされて ログインに成功したら元のアクセスしたページにリダイレクト
2.js ではリダイレクトせずアクセスしたページの URL でログイン画面が出る