Уникально идентифицировать каждое из устройств определенного пользователя - PullRequest
0 голосов
/ 31 января 2012

У меня есть загружаемый клиент Ruby, который пользователи могут устанавливать на различные собственные устройства. Клиент просто запускается так часто и отправляет различные данные на сервер.

Я хотел бы иметь возможность однозначно идентифицировать каждое из устройств пользователя, чтобы я мог определить, с какого устройства поступил другой запрос.

  • Идеальный идентификатор должен существовать кроссплатформенный, так что я могу использовать его на OSX, Windows, Android и т. Д.
  • Нет необходимости, чтобы он был уникальным среди множества компьютеров, просто уникальным среди множества компьютеров одного пользователя.
  • Я бы не стал писать свой собственный идентификатор в файловую систему, если этого можно избежать.
  • Идентификатор должен сохраняться. Постоянно, если это возможно.

Какой самый простой способ сделать это?

Ответы [ 2 ]

1 голос
/ 31 января 2012

Используя гем sysinfo , например, используя sysinfo.to_s, вы получаете строки типа ruby-unix-osx-i386.

Но это не будет работать, если у пользователя есть две машины с одинаковой архитектурой.Также я не уверен, поддерживает ли sysinfo платформу, например, Android.

0 голосов
/ 06 февраля 2012

Пока что я не нашел удовлетворительного способа сделать это без записи на компьютер пользователя.

В настоящее время я использую UUID gem для записи уникального идентификатора из 36 символов в файловую систему, а затем считываю его всякий раз, когда мне нужно.

Другой вариант, если вы используете> Ruby 1.9.2, - это использование SecureRandom.uuid метода , который делает то же самое. Однако этот метод недоступен в Ruby 1.8.7.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...