Услуги Angular обрабатываются на стороне клиента или на стороне сервера? - PullRequest
0 голосов
/ 31 мая 2018

Допустим, я принимаю и обслуживаю свой Angular с Firebase Hosting и использую Angular'services для вызова API для моих Firebase Functions, Firestore и Firebase Authentication.

. Я хотел бы знать,есть ли вероятность того, что коды или обработанные данные в Angular получили утечку:

1) Если я жестко закодировал свой ключ API в службах, будет ли утечка безопасности утечкой моего ключа API?

2) Данные, которые поступают из Firestore в Angular Services, и данные, обрабатываемые в Services, обрабатываются ли они на стороне сервера или на стороне клиента?

Спасибо.

1 Ответ

0 голосов
/ 31 мая 2018

Ответ на вопрос 1 / Ваши ключи API будут «общедоступными», но это не проблема, посмотрите этот «известный» ответ Безопасно ли открывать Firebase apiKey для общественности?.Так что никакого «нарушения безопасности».


Ответ на вопрос 2 / Ваши сервисы Angular выполняются на стороне клиента, поэтому данные, полученные из Firestore, обрабатываются на стороне клиента,Роль Firebase Hosting заключается в том, чтобы отправлять ваши Angular-файлы клиенту только тогда, когда они необходимы (т.е. запрашиваются клиентом).

Это означает, что вам, вероятно, следует добавить некоторые правила безопасности в базу данных Firestore (исоответственно строите свои запросы), чтобы отправлять клиенту только те данные, которые он может прочитать.Эти правила безопасности являются частью авторизации механизма аутентификации / авторизации, в то время как аутентификация Firebase будет первой частью.Вы можете прочитать документацию о правилах безопасности Firestore здесь (обратите внимание, что они совершенно отличаются от ваших ключей API) и об Аутентификации Firebase здесь .

Наконец,обратите внимание, что в Firebase единственная часть вашего кода, которая выполняется на серверной стороне (то есть на стороне сервера), - это код, который вы пишете для облачных функций.Таким образом, если вы вызываете из своего приложения Angular облачную функцию (например, вызываемую функцию HTTPS или с HTTP-запросом), код этой функции будет выполняться на стороне сервера , и только полученные данные будутотправить обратно в приложение Angular (на стороне клиента).

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