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

> Décrit l’implémentation de l’authentification Passwordless avec connexion intégrée dans les applications à page unique (SPA).

# Authentification Passwordless intégrée pour les SPA

export const ReleaseStageNotice = ({feature, stage, plans, contact, terms}) => {
  const stageTextMap = {
    "beta": "Bêta",
    "ea": "Accès anticipé"
  };
  const stageText = stageTextMap[stage] || "une étape du cycle de publication";
  const prsLink = "/docs/troubleshoot/product-lifecycle/product-release-stages";
  const linkify = (text, url) => {
    return <a href={url} target="_blank" rel="noreferrer" class="link">{text}</a>;
  };
  const includeDetails = (plans, contact, terms) => {
    const hasDetails = terms || plans || contact;
    if (!hasDetails) return null;
    return <span data-as="p">
            {plans && <>Cette fonctionnalité est offerte avec les {linkify(`${plans} forfaits`, "https://auth0.com/pricing")}. </>}
            {contact && "Pour y participer, communiquez avec " + contact + ". "}
            {terms && <>En utilisant cette fonctionnalité, vous acceptez les conditions applicables de l’essai gratuit énoncées dans le {linkify("Master Subscription Agreement", "https://www.okta.com/legal")} d’Okta.</>}
        </span>;
  };
  return <Warning>
            <span data-as="p">
                <strong>La fonctionnalité {feature} est en {linkify(stageText, prsLink)}.</strong>
            </span>

            {includeDetails(plans, contact, terms)}
        </Warning>;
};

<Warning>
  La connexion intégrée pour les applications Web utilise l’[authentification inter-origines](/fr-CA/docs/authenticate/login/cross-origin-authentication), à moins que vous ne [configuriez un domaine personnalisé](/fr-CA/docs/customize/custom-domains) pour votre locataire. L’authentification inter-origines s’appuie sur des témoins tiers pour permettre des transactions d’authentification sécurisées entre différentes origines.
</Warning>

<div id="using-auth0s-sdks-to-implement-embedded-login">
  ## Utilisation des SDK d'Auth0 pour implémenter la connexion intégrée
</div>

Vous pouvez implémenter la connexion <Tooltip tip="Passwordless : forme d'authentification qui ne repose pas sur un mot de passe comme premier facteur." cta="Voir le glossaire" href="/fr-CA/docs/glossary?term=Passwordless">Passwordless</Tooltip> à l'aide du widget Lock d'Auth0 ou, si vous avez besoin d'un contrôle total sur l'expérience utilisateur, la mettre en œuvre avec Auth0.js :

* [Lock for Web](/fr-CA/docs/libraries/lock)
* [Référence d'Auth0.js](/fr-CA/docs/libraries/auth0js)

<div id="configure-cross-origin-resource-sharing-cors">
  ### Configurer le partage de ressources entre origines multiples (CORS)
</div>

Pour des raisons de sécurité, l’URL d’origine de votre application doit figurer dans la liste des URL approuvées. Si vous ne l’avez pas déjà ajoutée aux **Allowed Callback URLS** de votre application, vous devrez l’ajouter à la liste des **Allowed Origins (CORS)**.

1. Accédez à [Auth0 Dashboard > Applications > Applications](https://manage.auth0.com/#/applications), puis sélectionnez le nom de votre application pour afficher ses paramètres.
2. Repérez **Allowed Origins (CORS)**, saisissez l’[URL d’origine](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Origin) de votre application, puis sélectionnez **Save Changes**.

<div id="customize-mfa">
  ## Personnaliser MFA
</div>

<ReleaseStageNotice feature="MFA personnalisable avec les flux Resource Owner Password Grant, Embedded ou Refresh Token" stage="ea" terms="true" contact="Auth0 Support" />

Personnalisez la <Tooltip tip="Authentification multifacteur (MFA) : processus d’authentification de l’utilisateur qui utilise un facteur en plus du nom d’utilisateur et du mot de passe, comme un code envoyé par SMS." cta="Voir le glossaire" href="/fr-CA/docs/glossary?term=MFA">MFA</Tooltip> avec des flux intégrés. Utilisez l’API MFA pour permettre aux utilisateurs d’inscrire les facteurs de leur choix pris en charge par votre application et de répondre aux demandes de vérification.

Lors de l’utilisation de [Lock for Web](/fr-CA/docs/libraries/lock#2-authenticating-and-getting-user-info), le point de terminaison `oauth/token` renvoie l’erreur `mfa_required` et inclut le `mfa_token` nécessaire pour utiliser l’API MFA, ainsi que le paramètre `mfa_requirements`, qui contient la liste des méthodes d’authentification actuellement prises en charge par votre application :

```json lines theme={null}
{
  "error": "mfa_required",
  "error_description": "Multifactor authentication required",
  "mfa_token": "Fe26...Ha",
  "mfa_requirements": {
    "challenge": [
      { "type": "otp" },
      { "type": "push-notification" },
      { "type": "phone" },
      { "type": "recovery-code" }
      { "type": "email"} //fonctionne uniquement avec challenge
    ]
  }
}
```

Utilisez le `mfa_token` pour appeler le point de terminaison [`mfa/authenticator`](https://auth0.com/docs/api/authentication/muti-factor-authentication/list-authenticators) afin de répertorier tous les facteurs auxquels l’utilisateur s’est inscrit et de repérer celui dont le `type` correspond à celui pris en charge par votre application. Vous devez également obtenir l’`authenticator_type` correspondant pour émettre des demandes de vérification :

```json lines theme={null}
[
  {
    "type": "recovery-code",
    "id": "recovery-code|dev_qpOkGUOxBpw6R16t",
    "authenticator_type": "recovery-code",
    "active": true
  },
  {
    "type": "otp",
    "id": "totp|dev_6NWz8awwC8brh2dN",
    "authenticator_type": "otp",
    "active": true
  }
]
```

Appliquez ensuite la vérification MFA en appelant le point de terminaison [`request/mfa/challenge`](https://auth0.com/docs/api/authentication/muti-factor-authentication/request-mfa-challenge).

Personnalisez davantage votre flux MFA avec les Actions d’Auth0. Pour en savoir plus, consultez [Déclencheurs d’Actions : post-challenge - objet API](/fr-CA/docs/customize/actions/explore-triggers/password-reset-triggers/post-challenge-trigger/post-challenge-api-object).
