Clés API
Une clé API appartient à un seul projet et fait ce que ses portées indiquent. Vous pouvez la restreindre davantage à des modèles et des opérations nommés, ou la confiner à une organisation.
Clés publiques et secrètes
Il existe deux types, distingués par leur préfixe. Une clé publique (pk_) peut être livrée sans risque dans un navigateur. Seule, elle est en lecture seule et renvoie le contenu publié, et un utilisateur connecté y ajoute les portées de son propre rôle. Une clé secrète (sk_) est destinée à un serveur, et l'API en rejette une sur toute requête qui porte un en-tête Origin de navigateur. L'un et l'autre type sont créés dans un projet et servent ce projet uniquement.
Portées
Les portées définissent le type d'accès d'une clé, comme records:read ou l'exécution d'opérations. La vérification est une liste d'autorisation : un appel dont la portée manque à la clé est donc refusé. Une portée autorise un appel et n'élargit jamais les lignes qu'une requête renvoie. Certaines portées ne peuvent pas du tout être détenues par une clé publique, et en demander une est refusé à la création de la clé.
Restreindre à des modèles et des opérations
Deux sélecteurs sur une clé déterminent les ressources qu'elle atteint : l'accès aux modèles et l'accès aux opérations. Tous deux valent tout par défaut, c'est-à-dire tout ce que couvrent les portées de la clé : restreindre est donc facultatif. Si vous choisissez des modèles précis, les champs typés de tous les autres modèles disparaissent du schéma que voit cette clé, et les appels vers eux sont refusés. Si vous choisissez des opérations précises, la mutation d'une opération non listée est absente du schéma de la clé, introspection comprise.
Confinement à une organisation
Une clé peut être confinée à une organisation à sa création. Elle lit cette organisation, tout ce qui se trouve en dessous et les lignes partagées dans le projet, et n'écrit que dans la sienne. Elle doit nommer au moins une portée, ne peut pas émettre de clés et est supprimée avec son organisation.
Renouvellement et changements ultérieurs
Renouveler une clé garde l'ancien secret valide pendant 24 heures. Révoquer met fin immédiatement à tous les secrets. Les portées, les modèles autorisés et le nom peuvent être modifiés sur une clé existante et prennent effet à la sauvegarde. Le type de clé, le confinement et l'expiration sont fixés à la création.
Lire le détail
Le guide des clés API couvre les deux types de clés, leurs portées, la restriction de l'étendue d'une clé et le renouvellement.