Autenticazione basata su token (HTTP/2) per il servizio APNToken-based (HTTP/2) Authentication for APNS

PanoramicaOverview

Questo articolo illustra come usare il nuovo protocollo HTTP/2 del servizio APN con l'autenticazione basata su token.This article details how to use the new APNS HTTP/2 protocol with token based authentication.

Ecco i vantaggi principali dell'uso del nuovo protocollo:The key benefits of using the new protocol include:

  • La generazione di token è relativamente semplice rispetto ai certificati.Token generation is relatively hassle free (compared to certificates)
  • Non sono previste scadenze: l'utente ha il controllo completo dei token di autenticazione e della rispettiva revoca.No more expiry dates – you are in control of your authentication tokens and their revocation
  • Sono consentiti payload fino a 4 KB.Payloads can now be up to 4 KB
  • Commenti e suggerimenti sincroniSynchronous feedback
  • Viene usato il protocollo più recente di Apple, mentre i certificati usano ancora il protocollo binario, contrassegnato per l'eliminazioneYou’re on Apple’s latest protocol – certificates still use the binary protocol, which is marked for deprecation

Per usare questo nuovo meccanismo sono sufficienti due passaggi che richiedono pochi minuti:Using this new mechanism can be done in two steps in a few minutes:

  1. Ottenere le informazioni necessarie dal portale per account sviluppatore AppleObtain the necessary information from the Apple Developer Account portal
  2. Configurare l'hub di notifica con le nuove informazioniConfigure your notification hub with the new information

Hub di notifica è ora configurato per l'uso del nuovo sistema di autenticazione con il servizio APN.Notification Hubs is now all set to use the new authentication system with APNS.

Se è stata eseguita la migrazione dall'uso delle credenziali del certificato per il servizio APN, si noti quanto segue:Note that if you migrated from using certificate credentials for APNS:

  • Le proprietà del token sovrascrivono il certificato nel sistema.the token properties overwrite your certificate in our system,
  • L'applicazione continua tuttavia a ricevere le notifiche senza problemi.but your application continues to receive notifications seamlessly.

Recupero delle informazioni di autenticazione da AppleObtaining authentication information from Apple

Per abilitare l'autenticazione basata su token, sono necessarie le proprietà seguenti dell'account sviluppatore Apple:To enable token-based authentication, you need the following properties from your Apple Developer Account:

Identificatore di chiaveKey Identifier

L'identificatore di chiave può esser ottenuto dalla pagina "Keys" (Chiavi) dell'account sviluppatore Apple.The key identifier can be obtained from the "Keys" page in your Apple Developer Account

Identificatore dell'applicazione e nome dell'applicazioneApplication Identifier & Application Name

Il nome dell'applicazione è disponibile nella pagina relativa agli ID dell'app dell'account sviluppatore.The application name is available via the App IDs page in the Developer Account.

L'identificatore dell'applicazione è disponibile tramite la pagina relativa ai dettagli dell'appartenenza dell'account sviluppatore.The application identifier is available via the membership details page in the Developer Account.

Token di autenticazioneAuthentication token

Il token di autenticazione può essere scaricato dopo la generazione di un token per l'applicazione.The authentication token can be downloaded after you generate a token for your application. Per informazioni dettagliate su come generare questo token, vedere la documentazione per sviluppatori di Apple.For details on how to generate this token, refer to Apple’s Developer documentation.

Configurazione dell'hub di notifica per l'uso dell'autenticazione basata su tokenConfiguring your notification hub to use token-based authentication

Eseguire la configurazione tramite il portale di AzureConfigure via the Azure portal

Per abilitare l'autenticazione basata su token nel portale, accedere a portale di Azure e passare al pannello Hub di notifica > Servizi di notifica > Servizio APN.To enable token based authentication in the portal, log in to the Azure portal and go to your Notification Hub > Notification Services > APNS panel.

È disponibile una nuova proprietà, ovvero Modalità di autenticazione.There is a new property – Authentication Mode. La selezione del token consente di aggiornare l'hub con tutte le proprietà rilevanti del token.Selecting Token allows you to update your hub with all the relevant token properties.

  • Immettere le proprietà recuperate dall'account sviluppatore Apple.Enter the properties you retrieved from your Apple developer account,
  • Scegliere la modalità dell'applicazione (produzione o sandbox).choose your application mode (Production or Sandbox)
  • Fare clic su Salva per aggiornare le credenziali del servizio APN.click Save to update your APNS credentials.

Configurazione tramite API Gestione (REST)Configure via Management API (REST)

È possibile usare le API di gestione per aggiornare l'hub di notifica per l'uso dell'autenticazione basata su token.You can use our management APIs to update your notification hub to use token-based authentication. In base alla modalità usata per l'app da configurare, ovvero sandbox o produzione, come indicato nell'account sviluppatore Apple, usare uno degli endpoint corrispondenti:Depending on whether the application you’re configuring is a Sandbox or Production app (specified in your Apple Developer Account), use one of the corresponding endpoints:

Importante

L'autenticazione basata su token richiede una versione 2017-04 o successiva dell'API.Token-based authentication requires an API version of: 2017-04 or later.

Ecco un esempio di richiesta PUT per l'aggiornamento di un hub con l'autenticazione basata su token:Here’s an example of a PUT request to update a hub with token-based authentication:

    PUT https://{namespace}.servicebus.windows.net/{Notification Hub}?api-version=2017-04
      "Properties": {
        "ApnsCredential": {
          "Properties": {
            "KeyId": "<Your Key Id>",
            "Token": "<Your Authentication Token>",
            "AppName": "<Your Application Name>",
            "AppId": "<Your Application Id>",
            "Endpoint":"<Sandbox/Production Endpoint>"
          }
        }
      }

Configurazione tramite .NET SDKConfigure via the .NET SDK

È possibile configurare l'hub per l'uso dell'autenticazione basata su token tramite la versione più recente dell'SDK client.You can configure your hub to use token based authentication using our latest client SDK.

Ecco un esempio di codice che illustra l'utilizzo corretto:Here’s a code sample illustrating the correct usage:

    NamespaceManager nm = NamespaceManager.CreateFromConnectionString(_endpoint);
    string token = "YOUR TOKEN 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);

Ripristino dell'uso dell'autenticazione basata su certificatiReverting to using certificate-based authentication

È possibile ripristinare in qualsiasi momento l'uso dell'autenticazione basata su certificati usando uno dei metodi precedenti e passando il certificato invece delle proprietà dei token.You can revert at any time to using certificate-based authentication by using any preceding method and passing the certificate instead of the token properties. Questa azione sovrascrive le credenziali archiviate in precedenza.That action overwrites the previously stored credentials.