Megosztás a következőn keresztül:


Jogkivonatalapú (HTTP/2) hitelesítés APNS-hez

Áttekintés

Ez a cikk bemutatja, hogyan használhatja az új APNS HTTP/2 protokollt jogkivonatalapú hitelesítéssel.

Az új protokoll használatának fő előnyei a következők:

  • A jogkivonat létrehozása viszonylag egyszerű (a tanúsítványokhoz képest)
  • Nincs több lejárati dátum – Ön felügyeli a hitelesítési jogkivonatokat és azok visszavonását
  • A hasznos adatok mostantól akár 4 KB-osak is lehetnek
  • Szinkron visszajelzés
  • Ön az Apple legújabb protokollját használja – a tanúsítványok továbbra is a bináris protokollt használják, amely elavuláshoz van megjelölve

Az új mechanizmus használata két lépésben végezhető el:

  • Szerezze be a szükséges információkat az Apple Developer-fiók portáljáról.
  • Konfigurálja az értesítési központot az új információkkal.

A Notification Hubs mostantól úgy van beállítva, hogy az új hitelesítési rendszert használja az APNS-sel.

Vegye figyelembe, hogy ha az APNS tanúsítvány-hitelesítő adatainak használatával migrált, a jogkivonat tulajdonságai felülírják a tanúsítványt a rendszerünkben, de az alkalmazás továbbra is zökkenőmentesen fogadja az értesítéseket.

Hitelesítési adatok beszerzése az Apple-től

A jogkivonatalapú hitelesítés engedélyezéséhez az Alábbi tulajdonságokra van szüksége az Apple Developer-fiókjából:

Kulcsazonosító

A kulcsazonosító az Apple Developer-fiókjában a Tanúsítványok, Azonosítók & profilok csoport Kulcsok lapján szerezhető be:

Diplomák

Identifiers

Alkalmazásazonosító és alkalmazásnév

Az alkalmazás neve és azonosítója a fejlesztői fiók Tanúsítványok, Azonosítók & profilok lapján is elérhető.

Konfigurálás a .NET SDK-val vagy az Azure Portalon

A központot úgy konfigurálhatja, hogy jogkivonatalapú hitelesítést használjon a legújabb ügyféloldali SDK-val vagy az Azure Portalon. A jogkivonatalapú hitelesítés portálon való engedélyezéséhez jelentkezzen be az Azure Portalra, és lépjen az értesítési központ Beállítások > Apple (APNS) paneljére. Válassza ki a Token lehetőséget a Hitelesítési mód tulajdonságból, és frissítse a központot az összes releváns jogkivonat-tulajdonsággal.

Jogkivonat konfigurálása

  • Adja meg az Apple Developer-fiókjából lekért tulajdonságokat.
  • Válassza ki az alkalmazás módot (éles vagy tesztkörnyezet).
  • Kattintson a Mentés gombra az APNS hitelesítő adatainak frissítéséhez.

A jogkivonat-alapú hitelesítő adatok a következő mezőkből állnak:

  • Kulcsazonosító: Az Apple Fejlesztői portálon létrehozott titkos kulcs azonosítója, például 2USFGKSKLT.
  • Csapatazonosító: "Előtagnak" vagy "Alkalmazáselőtagnak" is nevezik. Ez a szervezet azonosítója az Apple Fejlesztői portálon; például S4V3D7CHJR.
  • Csomagazonosító: Más néven "alkalmazásazonosító". Ez az alkalmazás csomagazonosítója; például com.example.myapp. Vegye figyelembe, hogy csak egy alkalmazáshoz használhat egy kulcsot. Ez az érték leképezi a apns-topic HTTP-fejlécet egy értesítés küldésekor, és az adott alkalmazás megcélzására szolgál. Nem állíthatja be explicit módon az apns-topic értéket.
  • Token: Más néven "Kulcs" vagy "Titkos kulcs". Ez az Apple Fejlesztői portálon létrehozott .p8 fájlból származik. A kulcsnak engedélyeznie kell az APNS-t (amely a kulcs létrehozásakor az Apple Fejlesztői portálon van kiválasztva). Az értéknek le kell vennie a PEM-fejlécet/élőlábat róla, amikor az NH Portalnak/API-nak adja meg.
  • Végpont: Ez egy kapcsoló a Notification Hubs portál paneljén, és egy sztringmező az API-ban. Az érvényes értékek a következők: https://api.development.push.apple.com:443/3/device vagy https://api.sandbox.push.apple.com:443/3/device. A Notification Hubs ezt az értéket az éles vagy tesztkörnyezetben használja az értesítések küldéséhez. Ennek meg kell egyeznie az aps-environment alkalmazás jogosultságával, ellenkező esetben a létrehozott APNS-eszközjogkivonatok nem egyeznek meg a környezettel, és az értesítések nem küldhetőek el.

Íme egy kódminta, amely a helyes használatot szemlélteti:

NamespaceManager nm = NamespaceManager.CreateFromConnectionString(_endpoint);
string token = "YOUR PRIVATE KEY HERE";
string keyId = "YOUR KEY ID HERE";
string appName = "YOUR APP NAME HERE";
string appId = "YOUR APP ID HERE";
NotificationHubDescription desc = new NotificationHubDescription("PATH TO YOUR HUB");
desc.ApnsCredential = new ApnsCredential(token, keyId, appId, appName);
desc.ApnsCredential.Endpoint = @"https://api.development.push.apple.com:443/3/device";
nm.UpdateNotificationHubAsync(desc);

Következő lépések