Stateless JWT vs stateful sessions: a real decision framework for identity