CORS et origines autorisées
Une clé publiable peut comporter une liste d’origines autorisées : les sites Web qui peuvent l’utiliser. Cette page explique où cette liste est vérifiée, ce que le navigateur affiche lorsqu’une vérification échoue et ce que cette liste ne protège pas.
Une origine comprend le schéma, l’hôte et le port d’une page, par exemple https://www.example.com ou http://localhost:3000. Elle ne comporte pas de chemin.
La liste est facultative
Une clé publiable fonctionne avec une liste vide. Une liste vide signifie que toute origine peut utiliser la clé. C’est l’état d’une clé créée sans origines définies ; vous pouvez également vider la liste plus tard.
Ajoutez des origines avant de déployer une clé sur un site de production. Lorsqu’une liste est définie, une copie de votre clé collée dans la page Web d’un tiers ne fonctionne plus sur cette page. Les protections offertes, ainsi que leurs limites, sont expliquées ci-dessous.
Les clés serveur ignorent cette liste. Une clé serveur ne peut jamais être utilisée depuis un navigateur, quel que soit le contenu de sa liste.
Rédiger une entrée
| Règle | Exemple |
|---|---|
| Uniquement le schéma, l’hôte et, éventuellement, le port. Aucun chemin, paramètre de requête ni barre oblique finale. | https://www.example.com, et non https://www.example.com/ |
https est obligatoire. http n’est accepté que pour localhost, 127.0.0.1 et [::1]. La page des clés API n’accepte pas [::1] ; définissez-le au moyen de l’API de gestion des clés. | http://localhost:3000 |
La correspondance est exacte. Les caractères génériques ne sont pas admis et un sous-domaine est une origine distincte. Une entrée contenant * est enregistrée telle quelle et ne correspond à aucun site. | https://example.com et https://www.example.com constituent deux entrées |
Le port fait partie de l’origine. Omettez le port par défaut (443 pour https, 80 pour http). | https://example.com, et non https://example.com:443 |
| Jusqu’à 100 entrées par clé. Les doublons sont rejetés. |
Les entrées sont enregistrées en minuscules, sans les ports par défaut, afin de correspondre aux valeurs envoyées par le navigateur.
Une page ouverte depuis le disque (file://) n’a pas d’origine que vous puissiez ajouter. Pendant le développement, servez la page depuis http://localhost.
Configurez la liste sur la page kaleidr.com/api-keys, ou avec allowed_origins dans l’API de gestion des clés.