Share via


Verificatie op basis van tokens (HTTP/2) voor APNS

Overzicht

In dit artikel wordt uitgelegd hoe u het nieuwe APNS HTTP/2-protocol gebruikt met verificatie op basis van tokens.

De belangrijkste voordelen van het gebruik van het nieuwe protocol zijn:

  • Het genereren van tokens is relatief eenvoudig (vergeleken met certificaten)
  • Geen vervaldatums meer: u hebt de controle over uw verificatietokens en hun intrekking
  • Nettoladingen kunnen nu maximaal 4 kB zijn
  • Synchrone feedback
  • U bevindt zich in het nieuwste protocol van Apple: certificaten gebruiken nog steeds het binaire protocol, dat is gemarkeerd voor afschaffing

Het gebruik van dit nieuwe mechanisme kan in twee stappen worden uitgevoerd:

  • Haal de benodigde informatie op via de Apple Developer-accountportal.
  • Configureer uw Notification Hub met de nieuwe informatie.

Notification Hubs is nu ingesteld op het gebruik van het nieuwe verificatiesysteem met APNS.

Als u bent gemigreerd van het gebruik van certificaatreferenties voor APNS, overschrijven de tokeneigenschappen uw certificaat in ons systeem, maar uw toepassing blijft naadloos meldingen ontvangen.

Verificatiegegevens verkrijgen van Apple

Als u verificatie op basis van tokens wilt inschakelen, hebt u de volgende eigenschappen van uw Apple Developer-account nodig:

Sleutel-id

De sleutel-id kan worden verkregen via de pagina Sleutels onder Certificaten, Id's en profielen in uw Apple Developer-account:

Certificaten

Identifiers

Toepassings-id en toepassingsnaam

De naam en id van de toepassing zijn ook beschikbaar op de pagina Certificaten, Id's en profielen in het ontwikkelaarsaccount.

Configureren via de .NET SDK of Azure Portal

U kunt uw hub configureren voor het gebruik van verificatie op basis van tokens met behulp van onze nieuwste client-SDK of in Azure Portal. Als u verificatie op basis van tokens in de portal wilt inschakelen, meldt u zich aan bij Azure Portal en gaat u naar het deelvenster Instellingen > apple (APNS) van uw Notification Hub. Selecteer Token in de eigenschap Verificatiemodus om uw hub bij te werken met alle relevante tokeneigenschappen.

Token configureren

  • Voer de eigenschappen in die u hebt opgehaald uit uw Apple Developer-account.
  • Kies de toepassingsmodus (productie of sandbox).
  • Klik op de knop Opslaan om uw APNS-referenties bij te werken.

Referenties op basis van tokens bestaan uit de volgende velden:

  • Sleutel-id: id van de persoonlijke sleutel die is gegenereerd in de Apple Developer-portal, 2USFGKSKLTbijvoorbeeld.
  • Team-id: ook wel het voorvoegsel of het app-voorvoegsel genoemd. Dit is de id voor de organisatie in de Apple Developer-portal; bijvoorbeeld S4V3D7CHJR.
  • Bundel-id: ook wel de 'app-id' genoemd. Dit is de bundel-id voor de toepassing; bijvoorbeeld com.example.myapp. Houd er rekening mee dat u slechts één sleutel voor één app kunt gebruiken. Deze waarde wordt toegewezen aan de HTTP-header bij het apns-topic verzenden van een melding en wordt gebruikt om de specifieke toepassing te targeten. U kunt de waarde niet apns-topic expliciet instellen.
  • Token: ook wel de 'sleutel' of 'persoonlijke sleutel' genoemd. Dit wordt verkregen uit het .p8-bestand dat is gegenereerd op de Apple Developer-portal. Voor de sleutel moet APNS zijn ingeschakeld (die is geselecteerd in de Apple Developer-portal bij het genereren van de sleutel). De waarde moet de PEM-kop- en voettekst ervan hebben verwijderd wanneer u deze opgeeft aan de NH-portal/API.
  • Eindpunt: dit is een wisselknop op de blade van de Notification Hubs-portal en een tekenreeksveld in de API. Geldige waarden zijn https://api.development.push.apple.com:443/3/device of https://api.sandbox.push.apple.com:443/3/device. Notification Hubs gebruikt deze waarde voor de productie- of sandboxomgeving voor het verzenden van meldingen. Dit moet overeenkomen met het aps-environment recht in de app, anders komen de APNS-apparaattokens die worden gegenereerd niet overeen met de omgeving en kunnen de meldingen niet worden verzonden.

Hier volgt een codevoorbeeld waarin het juiste gebruik wordt geïllustreerd:

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);

Volgende stappen