Пользователь может не только куки, но и localStorage отключить.
Самый распространенный способ - куки. На втором месте JWT. Если и то и другое отключено, можно передавать идентификатор даже как GET-параметр, например (и это уже небезопасно, особенно если соединение не зашифровано).