Вариант: при первом подключении генерируется ID, который хранится на клиенте.
Вариант классический: e-mail+пароль+посоленный хэш выступает в качестве ID
Вариант "грязный" - собираются цифровые отпечатки (установленные шрифты, часовой пояс, язык, MAC адрес и т.п.), которые храним на сервере. При повторноном подключении собираем и сверяем отпечатки.