Аутентификация с Google Drive API в AngularJS - PullRequest
0 голосов
/ 30 января 2019

Я полностью создал это веб-приложение, которое использует Google Drive API для аутентификации пользователей.После аутентификации пользователя токен сохраняется в файле <user-email>_token.json, поэтому приложение может работать в течение 24 часов без участия пользователя.Работает нормально.Но теперь я хочу отделить интерфейс от (Go-Lang) и преобразовать его в AngularJS.

Итак, у меня возникла проблема с аутентификацией.Потому что я должен держать аутентификацию на стороне сервера.Но тогда как Angular узнает, что пользователь аутентифицирован или нет?Потому что я не могу использовать сессии.

Должен ли я использовать JWT для этого?Если это так, то как мне это сделать?

1 Ответ

0 голосов
/ 31 января 2019

Ваш токен не обязательно должен быть на стороне сервера.

Почему?Потому что если к вашему серверу подключено много клиентов, это будет означать, что все эти клиенты используют один и тот же токен и, следовательно, имеют доступ к Google Диску, связанному с этим токеном.Это не имеет смысла.

Маркер должен быть на стороне клиента.Вы должны сохранить токен как cookie, возможно, используя JWT , я позволю вам прочитать документацию JWT, чтобы узнать, почему было бы интересно использовать его в вашем случае или нет.

Затем на вашем Angular вы должны сказать что-то вроде «эй, у этого клиента есть файл cookie под названием« my-google-drive-token », давайте проверим, хороший ли он… Мммм, ладно, похоже, хорошо, яотображать содержание Google Диска ".

Подумайте об использовании передовых методов обеспечения безопасности (использование зашифрованного токена в файле cookie, обеспечение безопасности соединения между передней и задней панелями, для защиты ключа API ...).

Ваш бэкэнд является только шлюзом между вашим интерфейсом и Google Drive API.

Также проверьте полезность вашего сервера.Я думаю, что в вашем случае достаточно простого интерфейса, подключенного к API Google.

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