結論
未認証時にログインページに飛ばしたい時など、
redirectする際はreturnしないと後続処理に進んでしまうので注意しましょうという話。
Railsでも以下のようにreturnとredirect処理はセットだったので、よくよく考えればそう...(うっかりしがち)
def show @user = User.find params[:id] return redirect_to :root if @user.nil? end
というわけでこんな感じでやる。
(Next.jsでも他のフレームワークでも変わらない)
const authorized: Middleware = ({ store, redirect }) => { // 認証状態をチェックする const isAuthenticated = store.state.isAuthenticated; if (!isAuthenticated) { return redirect('/login'); } };