> ## Documentation Index
> Fetch the complete documentation index at: https://documentation.onesignal.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Connexion iOS p8 basée sur un jeton vers APNs

> Configurez une clé d'authentification .p8 pour connecter votre application iOS ou macOS au service de notification push Apple (APNs) via OneSignal.

Pour envoyer des notifications push aux applications iOS, une connexion authentifiée aux services de notification push Apple (APNs) est requise. Vous pouvez vous authentifier en utilisant une méthode **basée sur un jeton (clé .p8)** ou **[basée sur un certificat (fichier .p12)](./ios-p12-generate-certificates)** — mais une seule est nécessaire.

Ce guide vous guidera à travers la configuration d'une **clé .p8 basée sur un jeton**, l'approche recommandée.

***

## Exigences

Assurez-vous d'avoir ce qui suit avant de commencer :

* Une application mobile iOS.
* Un [**compte Apple Developer payant**](https://developer.apple.com/) avec un accès [**Administrateur**](https://appstoreconnect.apple.com/access/users).
* Un [**compte OneSignal**](https://onesignal.com).
* Un Mac avec Xcode 14+.
* Un projet Xcode avec **la capacité de notification push activée**.

***

## Configurer l'authentification APNs

### Générer votre clé .p8 dans votre compte Apple Developer

<Tip>
  Pour les instructions complètes d'Apple, consultez [Créer une clé privée pour accéder à un service](https://developer.apple.com/help/account/keys/create-a-private-key/).
</Tip>

1. Connectez-vous à votre [compte Apple Developer](https://developer.apple.com/).
2. Accédez à **Certificates, Identifiers & Profiles > [Keys](https://developer.apple.com/account/resources/authkeys)**.
3. Cliquez sur l'icône **bleue plus (+)**.
   * Si vous ne la voyez pas, contactez votre administrateur pour obtenir l'accès.

<Frame>
  <img src="https://mintcdn.com/onesignal/tNi1OgLc_p9hiq7_/images/docs/1e2ff6e-Apple_Key_Page.jpg?fit=max&auto=format&n=tNi1OgLc_p9hiq7_&q=85&s=695489e801fe6cb492ed826e0ea2c22b" alt="Page Keys de l'Apple Developer affichant l'icône bleue plus pour créer une nouvelle clé" width="2616" height="884" data-path="images/docs/1e2ff6e-Apple_Key_Page.jpg" />
</Frame>

4. Sélectionnez **Apple Push Notifications service (APNs)**.
5. Lors de la configuration de la clé, assurez-vous que **Sandbox & Production** est sélectionné :

<Frame>
  <img src="https://mintcdn.com/onesignal/KSCNwSpBCNSQ8xdF/images/docs/p8-sandboxandproductionkey.png?fit=max&auto=format&n=KSCNwSpBCNSQ8xdF&q=85&s=1f04581e46bd74cdbc27792b243b952b" alt="Configuration de la clé Apple Developer avec Sandbox et Production sélectionnés" width="1232" height="495" data-path="images/docs/p8-sandboxandproductionkey.png" />
</Frame>

6. Entrez un nom pour la clé et cliquez sur **Continue**, puis sur **Register**.

<Frame>
  <img src="https://mintcdn.com/onesignal/3zq1PvSaqvUE2bIx/images/docs/312d551-Apple_Key_Page_-_Register.jpg?fit=max&auto=format&n=3zq1PvSaqvUE2bIx&q=85&s=9b88f0e1cdb3fbdba05357ef988a1165" alt="Page d'enregistrement de la clé Apple Developer avec les boutons Continue et Register" width="2622" height="922" data-path="images/docs/312d551-Apple_Key_Page_-_Register.jpg" />
</Frame>

7. **Téléchargez votre clé .p8** et conservez-la en lieu sûr. Vous ne pourrez pas la télécharger à nouveau.

<Warning>
  Si vous devez créer une nouvelle clé .p8 et que vous en avez déjà deux, vous **devez d'abord révoquer l'une des clés existantes** — et elle ne sera plus utilisable.
</Warning>

***

### Importer la clé .p8 dans OneSignal

1. Accédez à **Settings > Push & In-App > Apple iOS (APNs) Settings** dans votre tableau de bord OneSignal.

<Frame caption="Page de configuration des notifications push du tableau de bord OneSignal.">
  <img src="https://mintcdn.com/onesignal/KPVdijCt4_xCbkO8/images/dashboard/push-and-in-app-ios-settings.png?fit=max&auto=format&n=KPVdijCt4_xCbkO8&q=85&s=af9c2dedfc4c8f26f3aeee035cba5eb1" alt="Page Paramètres de OneSignal affichant la section Push et In-App avec les paramètres Apple iOS APNs" width="1188" height="654" data-path="images/dashboard/push-and-in-app-ios-settings.png" />
</Frame>

2. Choisissez **.p8 Auth Key (Recommended)** comme méthode d'authentification.

<Frame caption="Si vous effectuez une mise à jour depuis un p12 ou un autre p8, vous aurez la possibilité de « mettre à jour l'authentification »">
  <img src="https://mintcdn.com/onesignal/NCUI56Tiw7V-s0dT/images/dashboard/apns-authentication-method-selection.png?fit=max&auto=format&n=NCUI56Tiw7V-s0dT&q=85&s=bb08d987da33025d482b107fc1db1045" alt="Sélection de la méthode d'authentification APNs de OneSignal affichant l'option recommandée p8 Auth Key" width="1188" height="844" data-path="images/dashboard/apns-authentication-method-selection.png" />
</Frame>

Fournissez les informations suivantes :

* **`.p8 File`** – Le fichier de clé privée que vous avez téléchargé depuis votre compte Apple Developer.
* **`Key ID`** – Une chaîne alphanumérique de 10 caractères (par ex., `ABC123DEFG`) affichée à côté du nom de votre clé dans la [section Keys](https://developer.apple.com/account/resources/authkeys) de votre compte Apple Developer. Assurez-vous qu'elle correspond au fichier .p8 téléchargé.
* **`Team ID`** – Une chaîne alphanumérique de 10 caractères (par ex., `9A1B2C3D4E`) affichée à côté du nom de votre équipe dans le coin supérieur droit de votre [compte Apple Developer](https://developer.apple.com/account/). Il ne s'agit **pas** du même identifiant que le Key ID.
* **`App Bundle ID`** – Une chaîne en domaine inversé (par ex., `com.example.app`) que vous pouvez trouver :
  * Dans la [section Identifiers](https://developer.apple.com/account/resources/identifiers/list) de votre compte Apple Developer, ou
  * Dans **Xcode > Main App Target > Signing & Capabilities**

<Warning>
  Le **Key ID** et le **Team ID** sont tous deux des chaînes de 10 caractères présentes dans votre compte Apple Developer, mais à des emplacements différents. Vérifiez que vous ne les avez pas confondus — il s'agit de l'erreur de configuration la plus fréquente.
</Warning>

<Frame caption="Trouver les détails de votre clé .p8">
  <img src="https://mintcdn.com/onesignal/9_Q1FZLh6C0BFLq-/images/docs/c8d0207041e7c277f7e4ca49a3f6100280ddcbf970fce9b720fddfbda6683bb6-p8.png?fit=max&auto=format&n=9_Q1FZLh6C0BFLq-&q=85&s=fc9c689b0880bda69813428ee7fdbe5f" alt="Compte Apple Developer affichant les emplacements du Key ID et du Team ID" width="1445" height="506" data-path="images/docs/c8d0207041e7c277f7e4ca49a3f6100280ddcbf970fce9b720fddfbda6683bb6-p8.png" />
</Frame>

<Frame caption="Trouver votre Bundle ID dans Xcode">
  <img src="https://mintcdn.com/onesignal/_KaXe4GQkxsEfa17/images/docs/35a1fd8940c4964156b9b0b83fbc41772189ae3d2eb29f80318137887344cf4c-ea1f341-Screenshot_2024-06-18_at_3.25.41_PM.png?fit=max&auto=format&n=_KaXe4GQkxsEfa17&q=85&s=1ade7692a469b12376088ce5fac6c3c3" alt="Onglet Signing and Capabilities de Xcode affichant le champ Bundle Identifier" width="2830" height="798" data-path="images/docs/35a1fd8940c4964156b9b0b83fbc41772189ae3d2eb29f80318137887344cf4c-ea1f341-Screenshot_2024-06-18_at_3.25.41_PM.png" />
</Frame>

Cliquez sur **Save & Continue** lorsque vous avez terminé.

<Check>
  Vous avez correctement configuré **l'authentification APNs à l'aide d'une clé .p8** dans OneSignal.

  Votre application iOS est maintenant prête à envoyer et recevoir des notifications push ! 🎉
</Check>

***

## Dépannage .p8

<Steps>
  <Step title="Vérifier le format du fichier .p8">
    * Ouvrez le fichier `.p8` dans un éditeur de texte.

    * Il devrait ressembler à ceci :

      ```text theme={null}
      -----BEGIN PRIVATE KEY-----
      64 character line
      64 character line
      64 character line
      8 character line
      -----END PRIVATE KEY-----
      ```
  </Step>

  <Step title="Vérifier que vous n'avez pas importé un fichier .p12 par erreur">
    * Les clés `.p8` proviennent de la section **Keys** de votre compte Apple Developer.
    * Les certificats `.p12` proviennent de la section **Certificates**. Ils ne sont pas compatibles avec l'authentification .p8.
  </Step>

  <Step title="Confirmer que vous avez le bon Key ID">
    * Accédez à la [section Keys de votre compte Apple Developer](https://developer.apple.com/account/resources/authkeys).
    * Le Key ID est la chaîne de 10 caractères affichée à côté du nom de votre clé (par ex., `ABC123DEFG`).
    * Faites correspondre le Key ID que vous avez saisi dans OneSignal avec celui associé à la clé `.p8` téléchargée.
    * **Ne confondez pas avec votre Team ID** — les deux sont des chaînes de 10 caractères, mais se trouvent à des endroits différents.
  </Step>

  <Step title="Vérifier le Team ID">
    * Votre **Team ID** est la chaîne de 10 caractères affichée à côté du nom de votre équipe dans le coin supérieur droit de votre [compte Apple Developer](https://developer.apple.com/account/).
    * Assurez-vous qu'il est copié exactement et correspond au compte sous lequel la clé a été générée.
    * **Ne confondez pas avec votre Key ID** — le Team ID identifie votre compte développeur, pas une clé spécifique.
  </Step>

  <Step title="Vérifier que la clé a la capacité APNs">
    * Lorsque vous consultez votre clé dans Apple Developer, la capacité **Apple Push Notifications service (APNs)** doit être répertoriée.
    * Si ce n'est pas le cas, révoquez la clé et créez-en une nouvelle.
  </Step>

  <Step title="Attendre quelques minutes">
    * Les clés nouvellement créées peuvent prendre **10 à 15 minutes** à se propager avant qu'Apple autorise l'authentification externe.
    * Si vous obtenez des erreurs de validation immédiatement après la création, attendez et réessayez.
  </Step>
</Steps>

### Besoin d'aide ?

* Révoquez la clé `.p8` actuelle et créez-en une nouvelle depuis le début.
* Vérifiez que vous utilisez un **Bundle ID valide** du même compte sous lequel la clé a été créée.
* Contactez `support@onesignal.com` en joignant une capture d'écran de la configuration de votre clé Apple Developer ainsi que le Key ID, le Team ID et le Bundle ID.

***

## Prochaines étapes

<Columns cols={2}>
  <Card title="Configuration du SDK iOS" icon="apple" href="./ios-sdk-setup">
    Installez le SDK OneSignal, initialisez-le dans votre application et envoyez une notification de test.
  </Card>

  <Card title="Configuration du SDK mobile" icon="mobile" href="./mobile-sdk-setup">
    Choisissez votre plateforme et suivez le guide complet d'intégration du SDK pour Android, iOS ou les frameworks multiplateformes.
  </Card>
</Columns>

***

## FAQ

### Quelle est la différence entre .p8 et .p12 ?

Une **clé .p8** est une clé d'authentification basée sur un jeton qui n'expire pas et fonctionne pour toutes les applications sous votre compte Apple Developer. Un **certificat .p12** est spécifique à une application et expire après un an, nécessitant un renouvellement annuel. OneSignal recommande le .p8 pour sa simplicité et sa faible maintenance. Consultez le [guide du certificat .p12](./ios-p12-generate-certificates) pour la méthode alternative.

### Ma clé .p8 expire-t-elle ?

Non. Contrairement aux certificats .p12, les clés .p8 n'expirent pas. Une fois créée, une clé .p8 reste valide jusqu'à ce que vous la révoquiez dans votre compte Apple Developer.

### Puis-je utiliser une seule clé .p8 pour plusieurs applications ?

Oui. Une seule clé .p8 fonctionne pour toutes les applications sous le même compte Apple Developer. Vous pouvez importer le même fichier .p8 dans plusieurs applications OneSignal — chaque application n'a besoin que de son propre Bundle ID unique.

### Ai-je besoin d'un profil de provisionnement et comment en créer un ?

Oui, Apple exige différents types de profils pour le développement, les tests (Ad Hoc) et la distribution sur l'App Store.

Dans Xcode, sélectionnez **Automatically manage signing** pour en créer un automatiquement.

<Frame>
  <img src="https://mintcdn.com/onesignal/jFWn5xzleD8du3j6/images/docs/63400c422a45ceb7bd54a647c73252bc4221e3d9c62e7a595b4d58f8ae1a8c3e-Screenshot_2025-04-21_at_4.48.21_PM.png?fit=max&auto=format&n=jFWn5xzleD8du3j6&q=85&s=1f8f70d1078a89beb067d442690d6594" alt="Onglet Signing and Capabilities de Xcode avec la gestion automatique des signatures activée" width="2058" height="632" data-path="images/docs/63400c422a45ceb7bd54a647c73252bc4221e3d9c62e7a595b4d58f8ae1a8c3e-Screenshot_2025-04-21_at_4.48.21_PM.png" />
</Frame>

Sinon, consultez [la documentation Apple sur les profils de provisionnement](https://developer.apple.com/help/account/provisioning-profiles/provisioning-profile-updates) pour plus de détails.

***
