2016-11-04 1 views
0

Я разрабатываю приложение для Android, и мне трудно понять, как я могу аутентифицировать маршруты на стороне сервера, когда приложение Android делает запрос POST.Аутентифицировать маршруты Приложение NodeJS для Android

Например, после входа в систему, если я перехожу на маршрут, отображающий профиль пользователя, я должен иметь возможность отправить обратно токен сеанса и сохранить данные пользователя в req.user для дальнейшей обработки, например, для запроса базы данных ,

ответ

1

Если вы установили что-то в req, оно будет существовать для в текущем запросе. Он не будет существовать для последующего запроса.

В сценарии mobile/api вы должны отправить токен устройству во время входа в систему, и устройство отправит его обратно вам для каждого аутентифицированного запроса. Взгляните на jwt для получения дополнительной информации об истечении срока годности, формате и т. Д. Это фактический стандарт аутентификации для мобильного приложения.

Если вы используете сценарий web/backend в nodejs, где вы хотите хранить информацию о пользователе в памяти (например, как вам кажется) или иметь очень легкий кеш, вы можете сохранить его на экспресс app или узел global но это просто не масштабируемо, так как это заставит вас сделать ваш сервер липким для масштабирования по горизонтали (а также сбоя приложения узла в случае неперехваченной ошибки, вы хотите быть агностиком для любого перезапуска вашего приложения), поэтому не делайте этого , это ужасно. Вы должны использовать что-то вроде memcached (также посмотрите на это tutorial) для хранения данных.