Как реализовать вариант использования с новым максимальным временем истечения срока действия пользовательской аутентификации Firebase, равным 1 часу?


Пользовательские токены аутентификации и срок их действия: До ограничения в 1 час для каждого токена я создавал пользовательский токен для сервера каждого клиента при регистрации. Маркер будет использоваться на панели администрирования (интерфейсе) для изменения настроек и для извлечения настроек на стороне сервера.

Предыдущий рабочий процесс: После покупки клиента → Мой сервер → созданный токен клиента в течение действительного периода времени (например, 6 месяцев) и отправляет его на клиент → Клиент проверяет/активирует продукт, добавляя токен на свой сервер.

  • Сервер клиента: Использует токен для активации продукта. Затем маркер используется для получения настроек из Firebase на стороне сервера.
  • Панель администрирования клиента: Токен передается со стороны сервера на панель администрирования (интерфейс). Интерфейс аутентифицируется, и теперь Клиент может изменить настройки.

Принимая во внимание новое ограничение токена на 1 час, каким должен быть мой рабочий процесс? например • Наличие разных токенов для серверной части (предоставление учетных данных для серверов клиентов в управлении облачными проектами Google) и для интерфейсной части? • Обновление токена по истечении срока его действия путем создания конечной точки на моем сервере?

Использование PHP Спасибо

Author: MyUserInStackOverflow, 2016-06-26

2 answers

В новой Firebase пользовательские токены предназначены для использования только клиентами. Я полагаю, что вы могли бы использовать свой вариант использования, обрабатывая всю логику подключения к БД изнутри вашего клиента. Шаги для этого будут выглядеть следующим образом:

  1. Назначьте некоторые специальные учетные данные (например, пару имя пользователя/pwd) своим клиентам, когда они регистрируются в вашей службе.
  2. Сформируйте панель администратора клиента, если клиент входит в систему с этими учетными данными против ваш сервер, создайте для них пользовательский токен и отправьте его обратно на панель администратора.
  3. Оттуда вызовите signInWithCustomToken (customtoken).
  4. Теперь выполните все операции чтения и записи, необходимые для базы данных, чтобы позволить вашему клиенту управлять своими настройками.

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

 2
Author: Alfonso Gomez Jordana Manas, 2016-06-27 16:47:02

Если я все правильно понял - лучше используйте один токен для каждого сервера клиента с полем метки времени истечения срока действия. И если вы не собираетесь проверять, не истек ли срок действия токена при каждом запросе, периодически выполняйте процесс, который отключит пользовательские серверы после истечения срока действия токена и удалит их из коллекции включенных токенов. это позволяет вам только проверять, что токен находится в коллекции, или отключать сервер клиентов, если срок действия токена истек.

 1
Author: Fixed budget, 2016-06-27 11:16:22