Как пройти аутентификацию в https://iid.googleapis.com/iid/v1: batchImport в firebase с маркером доступа OAuth? - PullRequest
0 голосов
/ 20 февраля 2020

Кто-нибудь знает, как пройти аутентификацию в API-интерфейсе batchImport службы идентификации экземпляров Firebase (https://developers.google.com/instance-id/reference/server) с помощью Google Application Credential?

Или какая роль IAM требуется для учетная запись службы, связанная с учетными данными?

Используемая в данный момент учетная запись службы имеет роль Firebase Admin SDK Administrator Service Agent, и она может проходить аутентификацию в API batchAdd, например:

POST /iid/v1:batchAdd HTTP/1.1
Host: iid.googleapis.com
Authorization: Bearer {MY ACCESS TOKEN OF THE SERVICE ACCOUNT}
Content-Type: application/json
access_token_auth: true

Connection: close

{"to":"/topics/MY_FCM_TOPIC","registration_tokens":["MY_FCM_INSTANCE_TOKEN"]}

он отвечает 200 OK:

HTTP/1.1 200 OK
Content-Type: application/json; charset=UTF-8
Connection: close

{"results":[{}]}

Однако, если я перехожу на использование batchImport API с тем же токеном доступа:

POST /iid/v1:batchImport HTTP/1.1
Host: iid.googleapis.com
Authorization: Bearer {MY ACCESS TOKEN OF THE SERVICE ACCOUNT}
Content-Type: application/json
access_token_auth: true

Connection: close

{"application":"MY iOS APP BUNDLE ID","sandbox":false,"apns_tokens":["MY_APNS_TOKEN"]}

, он ответит 401 Не авторизовано:

HTTP/1.1 401 Unauthorized
Content-Type: application/json; charset=UTF-8
Connection: close

{"error":"Not authenticated or unauthorized"}

Не поддерживает ли batchImport API аутентификация с помощью токена доступа OAuth?

Или в моей учетной записи службы отсутствуют некоторые разрешения?

1 Ответ

0 голосов
/ 24 февраля 2020

Вы должны использовать свой ключ API Firebase. Вы можете найти его в Firebase в разделе «Настройки -> Облачные сообщения»

Должен быть ключ ключа API и устаревший ключ API.

Заголовок: Authorization: key=<KEY>

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