Package com.iizix.server.push.engine.transport
package com.iizix.server.push.engine.transport
- ClassDescriptionThe native Apple Push Notification service transport: held.The Firebase Cloud Messaging transport, HTTP v1:
POST https://fcm.googleapis.com/v1/projects/{project}/messages:sendwith an OAuth 2.0 bearer token minted from the application's service account.WhatFcmTransport.checkToken(String, String)learnt about the Firebase project of a registration token.The target of a message: a registration token (message.token) or an FCM Topic (message.topic, the name without the/topics/prefix).The outcome ofFcmTransport.checkToken(String, String): the verdict, the application's Firebase project the token was checked against, and what FCM answered.A device push transport: the leg that hands a notification to a third-party store-and-forward service for one stored subscription.The P-256 key material of Web Push, loaded, generated and encoded withjava.baseonly: the raw forms the wire carries - the 65-byte uncompressed point0x04 || X || Yof a public key and the 32-byte scalar of a private key, both base64url without padding - to and from the JDK's ownECPublicKeyandECPrivateKey.The result of one transport send.Whether a transport can send for an application, and when not, why.The VAPID (RFC 8292) authorization for a Web Push request: an ES256 JWT over the application's key pair, presented asAuthorization: vapid t=<jwt>, k=<public key>.The Web Push transport: RFC 8030 request, RFC 8291 encryption, RFC 8292 VAPID authorization, over the Jetty client.Message encryption for Web Push, RFC 8291 with theaes128gcmcontent coding of RFC 8188: ECDH on P-256 against the subscription'sp256dh, HKDF-SHA-256 with the subscription'sauthsecret, one AES-128-GCM record.