Ответ 1
Я также ищу ответ на этот вопрос. Мой лучший 5c пока
- Используйте FireBase для настройки меток и т.д. с консоли.
- Использовать пользовательский интерфейс FireBase (в бета-версии) для Интернета или "интеграция поставщика интегрированных идентификаторов" для iOS/Android для настройки потока аутентификации
- Извлеките данные маркера/аутентификации на своем веб-сервере/iOS/Android-клиенте и передайте его своим конечным точкам в облаке, например, заголовки HTTP-заголовков.
- Внесите javax.servlet.http.HttpServletRequest в свои методы конечных точек (просто добавьте аргумент и Google с целью автоматического ввода объекта запроса)
- Создайте метод, который ваша конечная точка будет вызывать для каждого запроса (который нуждается в аутентификации), который будет обрабатывать проверку учетных данных, которые вы передали в качестве заголовков HTTP-запросов.
- Используйте FireBase Java SDK для вызова FireBase для проверки учетных данных (для этого вам необходимо экспортировать json-конфигурацию из консоли Firebase) и загрузить SDK с ними, например, в один из ваших сервлетов:
@Override
public void init(ServletConfig config) {
try{
InputStream in = config.getServletContext().getResourceAsStream("/WEB-INF/firebase-privatekey.json");
FirebaseOptions options = new FirebaseOptions.Builder()
.setServiceAccount(in)
.setDatabaseUrl("YOUR_DATABASE_URL")
.build();
FirebaseApp.initializeApp(options);
log.info("Authentication enabled");
}
catch(Throwable t) {
t.printStackTrace();
log.warning("AUTHENTICATION DISABLED. Only public resources will be available");
}
}