# Configuration de Sign in with Apple

Utilisez ceci lorsque vous souhaitez activer le **Apple** bouton dans un formulaire d’inscription.

Commencez par [Connexion sociale](/docs/fr/inscrire/enrolment-form/social-sign-in.md) pour comprendre le parcours utilisateur. Revenez ensuite ici pour la configuration du fournisseur.

<figure><img src="/files/fb2927b64c5cac224e518045cc1a2d4778b8020c" alt="Apple-Social-Sign-In-Example" width="375"><figcaption><p>Se connecter avec Apple dans un exemple de formulaire d’inscription</p></figcaption></figure>

### Aperçu

Utilisez cette page pour configurer **Se connecter avec Apple** (connexion Apple ID) pour **The Wallet Crew** les formulaires d’inscription.

Vous configurerez Apple à deux endroits :

1. **Apple Developer**: App ID + Service ID + domaines + URL de retour.
2. **L’admin de The Wallet Crew**: collez votre Apple **Service ID**.

#### Terminologie (Apple)

Ces termes sont utilisés dans Apple Developer et dans les configurations OAuth.

* **App ID**: identifie votre application. Utilise un **Bundle ID** comme `com.brand.app`.
* **Service ID**: identifie une intégration de connexion web. C’est ce que vous collez dans The Wallet Crew.
* **Domaines et sous-domaines**: là où le formulaire d’inscription est hébergé.
* **URL de retour**: URL de rappel OAuth / OpenID Connect utilisées après la connexion Apple.

#### Prérequis

* Accès au compte **Apple Developer** de votre marque.
* Autorisation de gérer **les identifiants** et **les Service IDs**.
* La liste des domaines sur lesquels vos formulaires d’inscription fonctionneront (prod + staging + dev + personnalisé).

#### Remarques sur le comportement d’Apple

Se connecter avec Apple présente quelques comportements qui ont un impact sur votre parcours d’inscription et vos règles de correspondance.

À la **première connexion** avec un compte Apple donné, Apple peut fournir **le prénom**, **le nom**et **l’e-mail**. Lors des **connexions suivantes**, Apple renvoie généralement **uniquement l’e-mail**. Concevez vos formulaires en supposant que vous n’aurez à long terme que l’e-mail.

{% hint style="warning" %}
Les utilisateurs Apple peuvent activer **Masquer mon adresse e-mail**. Dans ce cas, Apple renvoie une adresse de relais au lieu de l’e-mail réel de l’utilisateur.

Cet e-mail de relais peut créer des doublons si votre CRM attend un autre identifiant. Si vous envoyez des e-mails aux clients, vous devrez peut-être aussi prendre en charge la livraison vers les adresses de relais Apple.
{% endhint %}

Référence d’Apple : [Communication à l’aide du service de relais d’e-mail privé](https://developer.apple.com/documentation/signinwithapple/communicating-using-the-private-email-relay-service/).

### Configurer Se connecter avec Apple

{% stepper %}
{% step %}

#### **Ouvrir Identifiants**

1. Connectez-vous au compte Apple Developer.

<p align="center"><a href="https://developer.apple.com/account" class="button secondary" data-icon="chevrons-right">Compte Developer</a></p>

2. Allez dans `Certificates, IDs & Profiles` → `les identifiants`.
   {% endstep %}

{% step %}

#### **Créer (ou réutiliser) un App ID**

1. Cliquez sur `+` et sélectionnez `App IDs`.

![Cliquez sur +](/files/cfcbf510582990087dc5de1764574fb8ffb0822d) ![Sélectionner un App ID](/files/874c3327618d4275bf2d511c6f3c9c8085322070)

> Si vous avez déjà un App ID pour le même domaine/application, vous pourrez peut-être le réutiliser. Cela peut débloquer des scénarios avancés. En cas de doute, demandez à l’équipe The Wallet Crew.

2. Sélectionnez le type `App` .
3. Remplissez le formulaire avec :
   1. **Description**: un nom significatif pour votre projet
   2. **Bundle ID**: utilisez la valeur fournie par The Wallet Crew (exemple : `cloud.neostore.molia.app`)
   3. **Capacités**: activez `Sign In with Apple`

<div><figure><img src="/files/bdbc59eebbf6e62c707173f9f16b3c74c430ab85" alt="Description and Bundle ID" width="520"><figcaption></figcaption></figure> <figure><img src="/files/d8ef09107fb6e399ac1d9eac3a594d022a2bdf98" alt="Capabilities" width="563"><figcaption></figcaption></figure></div>

4. Validez le formulaire et cliquez sur `Register`.

<figure><img src="/files/ddd769556ff120e3cee83e402499efd0a23a04de" alt="Create (or reuse) an App ID"><figcaption></figcaption></figure>
{% endstep %}

{% step %}

#### **Créer (ou réutiliser) un Service ID**

Vous avez besoin d’un **Service ID** pour Sign in with Apple sur le web.

1. Dans la liste des identifiants, basculez le filtre sur `les Service IDs`.
2. Cliquez sur `+` et sélectionnez `les Service IDs`.

<div><figure><img src="/files/cfcbf510582990087dc5de1764574fb8ffb0822d" alt="Click on +" width="420"><figcaption><p>Cliquez sur +</p></figcaption></figure> <figure><img src="/files/fc344222d0798dc6eb7524fb3506c43ce48f74be" alt="Service ID" width="563"><figcaption><p>Service ID</p></figcaption></figure></div>

3. Remplissez le formulaire avec :
   1. **Description**: un nom significatif pour votre service
   2. **Identifiant**: utilisez la valeur fournie par The Wallet Crew (exemple : `cloud.neostore.molia.service`)

<figure><img src="/files/4de3c4f36f05ebf40bf6f9492a2472374feb1683" alt="Identifier"><figcaption></figcaption></figure>

4. Validez le formulaire et cliquez sur `Register`.

{% hint style="info" %}
Le **identifiant du Service ID** est la valeur que vous collerez dans l’administration de The Wallet Crew.
{% endhint %}
{% endstep %}

{% step %}

#### **Configurer Sign in with Apple (domaines + URL de retour)**

1. Dans la liste des identifiants, sélectionnez le Service ID que vous venez de créer.
2. Activez `Se connecter avec Apple` et cliquez sur `Configurer`.

<figure><img src="/files/ad6ec9404d1a6f1bf74dd8b960958340e9d52160" alt="Configure Sign in with Apple (domains + return URLs)"><figcaption></figcaption></figure>

3. Remplissez le formulaire avec :
   1. **App ID principal**: le App ID que vous avez créé précédemment (exemple : `cloud.neostore.molia.app`)
   2. **Domaines et sous-domaines**: ajoutez tous les domaines qui hébergeront vos formulaires d’inscription (prod + staging + dev + personnalisé)
   3. **URL de retour**: ajoutez l(s) URL(s) de rappel OAuth pour chaque environnement

<figure><img src="/files/86c6d857e7c38212dc0fb6b7da8c116d3818bfd8" alt="Return URLs"><figcaption></figcaption></figure>

4. Validez le formulaire et cliquez sur **Continuer**.

{% hint style="warning" %}
Apple est strict ici. Utilisez les valeurs exactes.

Si vous n’êtes pas sûr du format de l’URL de rappel, demandez à l’équipe The Wallet Crew.
{% endhint %}
{% endstep %}

{% step %}

#### Configurer les domaines de communication par e-mail

Cette étape est requise si votre application envoie des e-mails aux utilisateurs qui ont sélectionné **Masquer mon adresse e-mail** lors de la connexion avec Apple.

Apple génère une adresse de relais comme :

> <randomstring@privaterelay.appleid.com>

Vous devez enregistrer votre domaine d’envoi, sinon Apple rejettera ces e-mails. Traitez les adresses de relais comme des adresses e-mail normales dans votre backend.

{% hint style="info" %}
Cette étape est requise si vous envoyez des e-mails aux utilisateurs qui ont choisi **Masquer mon adresse e-mail**.

Apple renvoie une **adresse e-mail de relais**. Traitez-la comme une vraie boîte de réception.
{% endhint %}

**Ouvrez la section Services**

* Dans **Certificates, Identifiers & Profiles**, cliquez sur **Services** dans le menu de gauche.
* Cliquez sur **Se connecter avec Apple pour la communication par e-mail**.
* Cliquez sur **Configurer**.

<figure><img src="/files/edfeafb3f6b595dc52ac03680304878a7e871049" alt="Configure"><figcaption></figcaption></figure>

* Sous **Email Sources**, cliquez sur le **+** bouton pour ajouter une nouvelle source d’e-mail.

<figure><img src="/files/b199cbcc7099c3c540fd7c73b04e9e837f5704fa" alt="Email Sources"><figcaption></figcaption></figure>

**Remplissez le formulaire avec :**

* **Domaines et sous-domaines**:\
  Ajoutez le ou les domaines à partir desquels vous envoyez des e-mails.\
  Exemple :

  ```
  myapp.com
  mail.myapp.com
  ```
* **Adresses e-mail**:\
  Ajoutez la ou les adresses e-mail d’expéditeur utilisées par votre application.\
  Exemple :

```
noreply@myapp.com
support@myapp.com
```

<figure><img src="/files/2a55b92d3bb3fd5ac33437e90e1ec2c462b71412" alt="Fill the form with"><figcaption></figcaption></figure>

* Cliquez sur **Suivant** et terminez la validation (vérification SPF/DKIM si nécessaire).
  {% endstep %}
  {% endstepper %}

### Configurer Apple dans The Wallet Crew

1. Dans la console d’administration de The Wallet Crew, ouvrez :

<p align="center"><a href="https://admin.thewalletcrew.io/tenant/~/settings/social/apple" class="button secondary" data-icon="chevrons-right">Connexion sociale → Apple</a></p>

<div data-with-frame="true"><figure><img src="/files/d81690cc3d21247d00268c0d21b5381fcff54d16" alt="The Wallet Crew - Apple Social Sign In configuration" width="563"><figcaption><p>Configuration de The Wallet Crew - Apple Social Sign In</p></figcaption></figure></div>

2. Renseignez le **Service ID** avec l’identifiant utilisé lors de la création du Service ID (exemple : `cloud.neostore.molia.service`).
3. Enregistrer.

{% hint style="info" %}
Collez le **Service ID** identifiant.

Ne collez pas le nom de l’App ID ni le Bundle ID.
{% endhint %}

### Activer Apple sur votre formulaire d’inscription

Activez le fournisseur dans les paramètres du formulaire d’inscription.

Allez dans `configuration avancée -> Mise en page`. Ouvrez la mise en page pour activer la connexion sociale et ajoutez ces lignes :

```yaml
signinOptions:
  providers:
    - type: apple
      displayProps:
        isMobile: true
        isIOS: true
```

Pour plus d’informations, voir [Formulaire d’inscription](/docs/fr/inscrire/enrolment-form.md).

### FAQ

<details>

<summary>Quels domaines dois-je ajouter dans Apple Developer ?</summary>

Ajoutez chaque domaine qui peut héberger le formulaire d’inscription.

Incluez prod, staging, dev et tout domaine personnalisé.

</details>

<details>

<summary>Que dois-je mettre dans « Return URLs » ?</summary>

Ajoutez l’URL de rappel pour chaque environnement et chaque domaine de formulaire.

Gardez la valeur exacte. Le schéma, le chemin et le slash final doivent correspondre.

</details>

<details>

<summary>Pourquoi ne reçois-je que l’e-mail de l’utilisateur après la première connexion ?</summary>

Apple ne renvoie les champs de nom que lors du premier consentement.

Lors des connexions suivantes, Apple renvoie généralement uniquement l’e-mail.

</details>

<details>

<summary>Qu’est-ce que « Masquer mon adresse e-mail » et qu’est-ce que cela change ?</summary>

Apple peut renvoyer une adresse e-mail de relais au lieu de l’e-mail réel de l’utilisateur.

Cela peut créer des doublons si vous faites correspondre les utilisateurs uniquement par e-mail.

Référence d’Apple : [Communication à l’aide du service de relais d’e-mail privé](https://developer.apple.com/documentation/signinwithapple/communicating-using-the-private-email-relay-service/){target="\_blank"}.

</details>

<details>

<summary>Quelle valeur dois-je coller dans l’admin de The Wallet Crew : Bundle ID, App ID ou Service ID ?</summary>

Collez le **Service ID**.

Exemple : `cloud.thewalletcrew.molia.service`.

</details>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.thewalletcrew.io/docs/fr/inscrire/enrolment-form/social-sign-in/apple-sign-in.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
