Rails gem devise_token_auth заголовки в веб-консоли достаточно для доступа к API, почему? - PullRequest
0 голосов
/ 09 октября 2018

Я учусь, как реализовать безопасность в моих рельсах 5 api.Я разрабатываю угловое приложение для использования API, для этого я использую гем devise_token_auth, но в своем тесте на почтальоне я могу зарегистрироваться по электронной почте и паролю, а затем получить ответ с токеном (с истечением срока), данными, content-type, client, uid, затем я проверяю это с помощью angular и зарегистрироваться из моего браузера и в веб-консоли я могу увидеть всю информацию, необходимую для доступа к API из другого приложения.методу devise authenticate_user нужны параметры: content-type, access-token, client, expiry, uid, «НО», каждый может получить доступ к этой информации, если взглянуть на ответ в веб-консоли, так что тогда ... я выбираюэту информацию и вставьте в запрос Postamn, и я могу получить доступ к моей защищенной конечной точке, так как этот драгоценный камень будет полезен?Я что-то упустил?спасибо за продвинутый ..

Здесь я вхожу из angular и проверяю ответ в веб-консоли: enter image description here

, затем вставляю информацию в новый запрос впочтальон для доступа к защищенной конечной точке:

enter image description here

и доступ выполнен успешно, как я могу предотвратить отображение информации заголовка на веб-консоли?я что-то упустил?

Ответы [ 2 ]

0 голосов
/ 09 февраля 2019

Так работает интернет.Вы входите в систему и отправляете информацию на сервер.Затем сервер отвечает секретным токеном, который вы можете использовать в следующий раз вместо имени пользователя и пароля.С этим секретным токеном вы выполняете последующий запрос, а не с вашим именем пользователя и паролем.

Относительно ваших опасений по поводу того, что «все» увидят его.Вот почему вам нужно SSL-шифрование, это гарантирует, что кто-то другой не сможет прочитать имя пользователя и пароль, которые вы отправили, а также полученный вами токен.Без SSL кто-либо в вашей сети или маршрут к серверу действительно может прочитать его.

0 голосов
/ 09 октября 2018

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

Я что-то упустил?

Да.«Все» смогут видеть только свой собственный токен (исключая такие вещи, как прослушивание http. Вы будете использовать TLS, верно?).С их токеном пользователи могут делать то, что им нравится, и вы мало что можете с этим поделать.

Но они не могут видеть токены других пользователей таким образом.

...