Где я должен хранить токен доступа? - PullRequest
0 голосов
/ 11 декабря 2018

Я работаю над созданием приложения, в котором я аутентифицирую пользователя с помощью стороннего oauth-провайдера.

Я получаю токен доступа и токен-секрет от провайдера.

Теперь янужен токен токенов доступа к секрету при каждом вызове API.так где я должен хранить это в моем экспресс-приложении.Должен ли я хранить в сеансе или я должен делать что-то еще.

В настоящее время я храню в сеансе, но читаю, что он уязвим для csrf.

Попытка узнать, как лучше всего это сделать.

Ответы [ 2 ]

0 голосов
/ 11 декабря 2018

Есть несколько способов сделать это, все зависит от того, что вы можете сделать.

Секрет Сохранение секрета в БД (Redis, Mongo, SQL,так далее).Здесь вы будете уверены, что это более безопасно, также вы сможете использовать его с любого сервера, а не только с того, кто его генерирует.

Маркер Вы можете передать его какзаголовок вашей FE, а затем сохраненный в cookie, локальном хранилище или хранилище сеансов, затем передавайте его в вашу BE с каждой петицией, принимайте его и используйте для вызова вашего провайдера.

Это мой подход,Может быть, не единственный, но для меня это самый безопасный.

Надеюсь, это поможет вам!

0 голосов
/ 11 декабря 2018

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

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