@robertono

Авторизация, подобно Clash of Clans? Как она работает?

Здравствуйте

Меня интересует как работает авторизация, к примеру в такой игре как Clash of Clans.
Онлайн там на сервере около 5 миллионов игроков.
Игра не требует никакой авторизации: установил - играй.
В настройках есть возможность привязать учетку к аккаунту Google или Facebook или GameCenter (iOS), но это ведь просто привязка, как на каком нибудь сайте, чтобы заходить не только по обычному логину/паролю.

Меня интересует как именно работает эта авторизация без указания данных ? Игра не требует никакой авторизации через Google Play Services / Game Center, что бы играть по интернету. Но ведь как то же авторизация происходит ?

Конечно это может быть какой нибудь Telephony.DeviceID / ANDROID_ID / Mac Adress - уникальный (но не гарантирующий это) ИД устройства. Но если всё так просто, то кто то мог бы сгенерировать тысячи аккаунтов (ибо для авторизации нужен только этот ид).
Или другой вариант: никакой ID устройства тут не используется, просто сервер присылает какой нибудь уникальный UUID при первом запуске, что и будет токеном для входа.
Но что опять же мешает тогда нарегать тысячи аккаунтов ?

Интересуюсь потому, что собираюсь делать игру на мобильные устройства, и хочу узнать есть ли смысл разбираться с подобной авторизацией, или просто сделать обязательную регистрацию в игре при первом запуске, через Google / Play Services / Facebook / Game Center. Просто если кто то будет регать тысячи аккаунтов, то сервер ляжет в конечном счете, там точно должно быть что то посложнее.

Заранее спасибо !
  • Вопрос задан
  • 5602 просмотра
Решения вопроса 2
xmoonlight
@xmoonlight
https://sitecoder.blogspot.com
Вижу 2 возможных варианта:
1. Отправляется подписанный приложением запрос на регистрацию на основе уникального идентификатора устройства (Telephony.DeviceID / ANDROID_ID / Mac Adress и возможно ещё каких-то данных) с шифрованием по открытому ключу приложения (ключ "вшит" внутри приложения): формула формирования - также, внутри приложения, запрос перед передачей - шифруется ключом.
Т.е. отправляются подписанные данные самим приложением, которые Вы не сможете подделать БЕЗ установленного приложения, что не даст понаделать тучу аккаунтов.
2. Возможно, что через ID пользователя гугл (используя API).
Ответ написан
@Neuyazvimy1
Там все очень просто. Вначале идет проверка есть ли сохраненный логин и пароль. Если нет то идет запрос на регистрацию. Если есть, то на вход. А насчет тысячей регистрации это не самая большая проблема. Куда важнее сделать так чтобы ваши сервера не падали, это маштабируемость.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
alexyat
@alexyat
iOS Developer
Если вы не залогинены в Gamecenter и не привяжете к FB аккаунт, то удалив приложение и скачав заново прогресс пропадет. Так что высылается уникальный ключ, который сохраняется в приложении. Если вы вошли в GC(у большинства геймеров так и есть), то он привязывается к id GC, без ввода каких либо данных автоматически.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы