Comment créer une application de plateforme APNs pour l'envoi de notifications push dans Amazon SNS à l'aide de l'AWS CLI ?

Dernière mise à jour : 25/08/2022

Je veux créer une application de plateforme Apple Push Notification Service (APNs) dans Amazon Simple Notification Service (Amazon SNS) pour envoyer des notifications push. Comment créer une application de plateforme APNs à l'aide d'AWS Command Line Interface (AWS CLI) au lieu de la console Amazon SNS ?

Brève description

Pour créer une application de plateforme APNs dans Amazon SNS à l'aide de l'AWS CLI, exécutez la commande create-platform-application.

Pour plus d'informations, consultez CreatePlatformApplication dans la référence d'API Amazon SNS.

Remarque : vous pouvez également créer une application de plateforme dans la console Amazon SNS.

Solution

Remarque : les notifications push Amazon SNS ne sont pas disponibles dans toutes les régions AWS. Pour plus d'informations, consultez Régions prises en charge pour les applications mobiles. Si vous recevez des erreurs lors de l'exécution des commandes d'AWS CLI, assurez-vous que vous utilisez la version la plus récente d'AWS CLI.

Prérequis

Vous devez disposer d'une application valide pour iOS, VoIP ou MacOS. Vous devez également disposer des ressources suivantes de votre compte Apple Developer, en fonction de la méthode d'authentification de votre application :

Pour l'authentification basée sur des certificats

  • Un certificat TLS valide

Pour l'authentification basée sur des jetons

  • Une clé de signature de jeton valide
  • Un ID d'équipe Apple valide
  • Un ID de groupe Apple valide

Pour plus d'informations, consultez Conditions préalables pour les notifications des utilisateurs Amazon SNS et Méthodes d'authentification Apple dans le guide du développeur Amazon SNS.

Pour créer une application de plateforme APNs dans Amazon SNS à l'aide de l'AWS CLI

Pour l'authentification basée sur des certificats

1.    Exécutez la commande suivante :

Important : remplacez Your_Application_Name par le nom de votre application. Remplacez Certificates.p12 par votre fichier PKCS#12. Remplacez la valeur de laplateforme par APNS_SANDBOX ou APNS, en fonction de votre cas d'utilisation. Assurez-vous d'exécuter la commande dans le même répertoire que celui où se trouve votre fichier PKCS#12.

aws sns create-platform-application --name Your_Application_Name --platform APNS_SANDBOX --attributes PlatformCredential="\"$(openssl pkcs12 -in Certificates.p12 -nodes -nocerts)\"",PlatformPrincipal="\"$(openssl pkcs12 -in Certificates.p12 -nodes -nokeys)\""

Remarque : pour les services Apple utilisant des informations d'identification par certificat, PlatformCredential est une clé privée. PlatformPrincipal est le certificat SSL. La commande OpenSSL pkcs12 analyse un fichier PKCS#12 dans un format lisible pour l'authentification basée sur des certificats. Pour plus d'informations, consultez pkcs12 sur le site Web d'OpenSSL.

Une invite à saisir une valeur de mot de passe d'importation s'affiche.

2.    Pour le mot de passe d'importation, saisissez le mot de passe qui a été créé lors de l'exportation du fichier PKCS#12 depuis l'application Keychain Access.

Pour l'authentification basée sur des jetons

Exécutez la commande suivante :

Important : remplacez PlatformCredential par votre clé de signature de jeton. Remplacez PlatformPrincipal par l'ID de votre clé de signature de jeton. Remplacez ApplePlatformTeamID par votre ID d'équipe Apple. Remplacez ApplePlatformBundleID par votre ID de groupe Apple. Remplacez la valeur de laplateforme par APNS_SANDBOX ou APNS, en fonction de votre cas d'utilisation. Remplacez Token.p8 par votre fichier PKCS#8. Assurez-vous d'exécuter la commande dans le même répertoire que celui où se trouve votre fichier PKCS#8.

aws sns create-platform-application --name token --platform APNS_SANDBOX --attributes ApplePlatformTeamID=XXXXXXX,ApplePlatformBundleID=com.XXXXX,PlatformPrincipal=XXXXXXX,PlatformCredential="\"$(openssl pkcs8 -in Token.p8 -nocrypt)\""

Remarque : pour les services Apple utilisant des informations d'identification par jeton, PlatformCredential est une clé de signature de jeton. PlatformPrincipal est l'ID de la clé de signature de jeton. La commande OpenSSL pkcs8 traite les clés privées au format PKCS#8 et les analyse dans un format lisible pour l'authentification basée sur des jetons. Pour plus d'informations, consultez pkcs8 sur le site Web d'OpenSSL.

Pour plus d'informations sur les attributs de plateforme, consultez SeePlatformApplicationAttributes dans la référence d'API Amazon SNS.


Cet article vous a-t-il été utile ?


Avez-vous besoin d'aide pour une question technique ou de facturation ?