これで何時間費やしたことか、、

考えてみれば当然で、nonceは一定時間で破棄される識別子であり、ログインしている場合は別のnonceを用意していないとログイン系の処理が破綻するためである。