Crazymax11 / simple-chat

Простейший чат, можно заходить и писать сообщения, а также ренеймится nodejs + jade + bootstrap
0 stars 0 forks source link

Авторизация пользователей #20

Open Crazymax11 opened 8 years ago

Crazymax11 commented 8 years ago

команда в чате /registration username password [base64image]||url для регистрации нового пользователя в ответ приходит {type: "registration", result: true||false, message: string} для логина в чате /login username password, в ответ {type: "login", result: true||false, message: string}, дальше прилетает {type: "updateUserInfo", username: username [,avatar: url] [,newname: string]} (бродкастится всем) PS: этот месседж заменит rename

при создании соединения в ответ на init request может посылаться как init старого образца, так и login

бродкаст о новом юзере расширяется аватаркой [avatar: url]

клиент должен хранить username password в локал стораже и использовать их в ответ на init request, а также записывать в случае удачной /registration или /login

вопрос, что делать с двумя соединениями с одним login user pass. а) хранить на сервере 2 соединения, но для всех это будет 1 пользователь б) дисконект старого соединение в) запрет на коннект нового соединения

также необходимо написать userStorage, который будет хранить данные в формате login|pass|avatar:url|username

GlebkaF commented 8 years ago

а) хранить на сервере 2 соединения, но для всех это будет 1 пользователь 100% короч.

Crazymax11 commented 8 years ago

/logout - отсылает сабж месседж на сервер, закрывется соединение, локал стораж чистится, открывается новое анонимное

Crazymax11 commented 8 years ago

сделан минимальный функционал нужно еще

  1. проверку при регистрации на то что юзернейм занят в usersStorage либо среди текущих юзеров
  2. считать два логина с одинаковыми данными как одного пользователя
  3. запретить ренейм в юзернейм который занят как в пункте 1
  4. не сделаны аватарки, скорее всего уйдет в отдельную задачу
GlebkaF commented 8 years ago

Добавить в хелп: /register , /r /login, /l Добавить на клиента эти же команды

Crazymax11 commented 8 years ago

Все логины переводятся в lowercase при всех операциях При сравнении юзернеймов в рамках сравнениях оба юзернейма переводятся в ловеркейс