Отправка уведомлений в Действиях на Google без SDK - PullRequest
0 голосов
/ 28 сентября 2018

Я реализую уведомления в действии.Я могу регистрировать пользователей.Однако я не могу понять, как сделать push-уведомление.

Поскольку в примере кода используется SDK, я застрял в части "Ключ Exchange для токена доступа", найденной в этом * 1003.* документация .

Возможно ли это сделать без SDK?пользуетесь услугой отдыха?

1 Ответ

0 голосов
/ 28 сентября 2018

Да ... но ...

Существует служба REST, которая делает это, на самом деле, библиотека в конечном итоге вызывает ее.Это стандартная конечная точка обмена токенами OAuth2 на https://www.googleapis.com/oauth2/v4/token.Подвох строит JWT, который вы можете передать этому сервису.Процитируем страницу Google по теме :

Хотя ваше приложение может выполнить эти задачи, напрямую взаимодействуя с системой OAuth 2.0 с использованием HTTP, механизм межсерверной аутентификациивзаимодействия требуют, чтобы приложения создавали и криптографически подписывали веб-токены JSON (JWT), и легко допускать серьезные ошибки, которые могут серьезно повлиять на безопасность вашего приложения.

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

Короче говоря, если вы хотите это сделать, вам необходимо:

  1. Создание веб-токена JSON (JWT), который включает в себя заголовок, набор заявок и подпись.
  2. Запрос токена доступа с сервера авторизации Google OAuth 2.0.
  3. ОбработкаОтвет JSON для получения токена доступа.
  4. Отслеживание срока службы токена доступа и, когда онpires и вам нужен токен доступа, повторите шаги 1-4.

Подробности на Использование OAuth 2.0 для серверных приложений

Я неЯ знаком с библиотеками C #, однако мне сказали, что клиентская библиотека C # от Google , кажется, поддерживает ее, и документация высокого уровня для ServiceAccountCredential, как представляется, может генерировать токены аутентификации изполномочия.

...