У меня есть приложение для Android, которое аутентифицируется с помощью Firebase. Я хочу получить доступ к API конечных точек Google. Я установил аргументы для декоратора @endpoints.api
, чтобы только это приложение могло получить к нему доступ.
Я читал учебник на https://cloud.google.com/endpoints/docs/frameworks/java/calling-from-android, где говорится об использовании объекта службы конечных точек, мне сначала нужно было бы объявить учетные данные как таковые,
credential = GoogleAccountCredential.usingAudience(this, "server:client_id:1-web-app.apps.googleusercontent.com");
а затем передайте эти учетные данные построителю объекта службы.
Однако, поскольку я аутентифицируюсь с помощью Firebase, этот объект учетных данных работать не будет. Попытка сделать это приведет к ошибке GoogleAuthIOException
.
Я не могу найти никакой информации об объектах учетных данных Firebase, которые работали бы для третьего аргумента построителя служб.
Самое близкое, к чему я подошел, это
AuthCredential credential = GoogleAuthProvider.getCredential(idToken, null);
Я читал о некоторых возможных решениях, таких как Облачные конечные точки с аутентификацией Firebase, но это решение, похоже, предполагает, что мне нужно настроить FirebaseAdminSDK в службе конечных точек.
Мой главный вопрос заключается в следующем: для аутентификации Firebase на Android мне нужно передать его токен идентификатора службе конечной точки, которая затем проверит его с помощью FirebaseAdminSDK, как предлагает эта вторая ссылка, или я могу настроить простую переменную учетных данных Firebase для передачи в объект службы, как в примере в первой ссылке в этом посте?
Эта статья не к делу. Пожалуйста, обратитесь к моему последнему абзацу, моя проблема касается кода Android.
Вот статья об использовании Firebase Auth для аутентификации конечных точек.