API push-уведомлений Mobilefirst 8.0 — Push-регистрация устройства (POST)

Я имею в виду документацию по REST API службы push-уведомлений MobileFirst Server для регистрации устройств с принудительной отправкой (POST). Из документа (https://www.ibm.com/support/knowledgecenter/SSHS8R_8.0.0/com.ibm.worklight.apiref.doc/rest_runtime/r_restapi_push_device_registration_post.html), полезная нагрузка выглядит следующим образом

{
  "deviceId" : "12345-6789",
  "phoneNumber" : "123456789",
  "platform" : "A",
  "token" : "xyz",
}

Я вижу, что описание токена — «Токен устройства, полученный через поставщика услуг», но я до сих пор не понимаю, откуда я должен получить этот токен.

Есть ли какой-то другой API, который мне нужно вызвать, чтобы получить этот «токен»? Если да, то что такое API? Если нет, то откуда мне это взять?




Ответы (2)


Токен устройства предоставляется поставщиками облачных push-уведомлений, такими как GCM, APNS. Когда приложение установлено на мобильном устройстве, push-sdk связывается с поставщиками облачных push-уведомлений (Gcm, apns) и получает токен.

Когда устройство регистрируется на сервере mobilefirst, этот токен отправляется на сервер mobilefirst и сохраняется в базе данных.

Таким образом, нет другого API, который можно использовать для получения этого токена.

person Rahul Roy    schedule 21.02.2018
comment
Я думаю вызвать этот API-интерфейс push-регистрации через адаптер. Есть ли какая-либо документация о том, как я могу это сделать или как я могу получить токен? - person kwenyao; 21.02.2018
comment
Маркер получен на устройстве. Если вы хотите вызвать API регистрации из адаптера, вам необходимо получить токен на устройстве (изначально), передать его адаптеру. Но вы не можете вызвать конечную точку push напрямую из адаптера. Это связано с тем, что конечная точка push защищена и должна иметь соответствующий токен OAuth. В противном случае вам потребуется отдельно получить токен Push OAuth на клиенте и передать его на сервер. Если вы уже делаете это, можете также использовать Push SDK для регистрации. - person Vivin K; 21.02.2018

Получение токенов доступа

Чтобы получить токен доступа, конфиденциальный клиент отправляет запрос токена доступа с типом гранта «client_credentials», как описано в спецификации OAuth. Запрос токена — это HTTP-запрос POST, который отправляется по URL-адресу конечной точки токена. Шаблон URL-адреса для доступа к конечной точке маркера выглядит следующим образом (замените заполнители ‹...> вашими пользовательскими данными):

http(s)://<server_ip>:<server_port>/<project_name>/api/az/v1/token

В запросе включите заголовок авторизации HTTP. Сервер авторизации использует этот заголовок для аутентификации конфиденциального клиента.

Подробнее см.: https://www.ibm.com/support/knowledgecenter/en/SSHS8R_8.0.0/com.ibm.worklight.dev.doc/dev/c_non_mobile_to_mobile_services.html

person Gaurab Kumar    schedule 21.02.2018
comment
«Токен», который вы упомянули в своем ответе, предназначен для заголовка Authoriation: Bearer для вызовов mobilefirst REST API. Это не тот токен, о котором я говорю. Мне нужно тело запроса для регистрации push-уведомлений. - person kwenyao; 22.02.2018