Firebase - совместное использование аутентификации между поддоменами с помощью firebase admin sdk

Я провел небольшое исследование о совместном использовании auth object между поддоменами моего приложения. По-видимому, веб-SDK Firebase это настройка.

Моя идея состоит в том, чтобы иметь единый веб-сайт для входа login.myapp.com, который может использоваться другими моими приложениями app1.myapp.com, app2.myapp.com для аутентификации. Прямо как гугл.

Моя первая попытка состояла в том, чтобы stringify() объект аутентификации из localStorage, а затем отправить его как параметр URL-адреса запрашивающему приложению, чтобы я мог parse() объект аутентификации и сохранить его в localStorage этого приложения.

Но мне такая настройка не нравится, не только токены будут записываться в историю браузера, это еще и выглядит странно.

Поэтому мне было интересно, есть ли известная установка для этого с использованием admin sdk.

  1. Получить авторизацию от login.myapp.com
  2. Передайте uid app1.myapp.com
  3. app1.myapp.com передать uid серверу через http
  4. Сервер проверит, аутентифицирован ли uid.
  5. В случае успеха сервер ответит auth object на app1.myapp.com.

Может ли администратор firebase создать что-то подобное?

введите описание изображения здесь


person CENT1PEDE    schedule 17.05.2017    source источник


Ответы (1)


Похоже, чеканка нестандартных токенов - это то, что вам нужно. Как насчет того, чтобы создать собственный токен в login.myapp.com с помощью Admin SDK? , а затем передать его запрашивающим приложениям? Затем эти приложения могут войти в Firebase, вызвав signInWithCustomToken().

person Hiranya Jayathilaka    schedule 18.05.2017
comment
Ого! Спасибо, Хиранья. :) Я вернусь сюда, чтобы принять ваш ответ, как только я его протестирую. - person CENT1PEDE; 19.05.2017
comment
Как передать пользовательский токен запрашивающему приложению? - person Will; 24.07.2019
comment
Привет, Хиранья, скажем, пользователь вошел в систему с login.myapp.com, при переходе на app1.myapp.com ему / ей нужно снова вызвать логин? Я думаю, он должен автоматически входить в систему. - person damingzi; 24.07.2020