OAuth et Se connecter avec Sporty

Enregistrer une application

Comment obtenir un client id, à quoi peut ressembler une URI de redirection, et ce que signifie « en attente de validation ».

Il existe trois façons d'obtenir un client id.

CommentPour quiCe que vous obtenez
Un administrateur du club l'enregistre dans l'administration Sporty, sous Paramètres → Clients APIQuiconque développe pour un seul clubUn client confidentiel, déjà validé, lié à ce club
Nous l'enregistrons pour vousLes partenaires qui s'intègrent à de nombreux clubsUn client confidentiel, plus une autorisation par club pour chaque club qui l'accepte
Enregistrement dynamiqueAgents et clients MCPUn client public, en attente de validation

URI de redirection

Le code d'autorisation est envoyé à l'adresse que vous enregistrez ici : c'est donc le seul paramètre qu'il faut absolument régler avec précision. Nous imposons :

  • https uniquement — avec une exception, décrite ci-dessous
  • pas de caractères génériques — https://*.example.com/cb est refusé
  • pas de fragments — https://example.com/cb#anything est refusé
  • correspondance exacte au moment de l'autorisation ; une URI simplement similaire n'est pas acceptée

L'exception est l'adresse de bouclage (loopback). Une application de bureau, CLI ou native n'a pas d'adresse https propre ; http://127.0.0.1/callback et http://localhost/callback sont donc autorisées, et le port est ignoré lors de la comparaison (RFC 8252).

Secrets client

Un client confidentiel reçoit son secret une seule fois, dans la réponse qui le crée. Il est stocké sous forme de hachage, si bien que personne — nous compris — ne peut le relire. En cas de perte, renouvelez-le et mettez à jour votre application.

Renouveler un secret ne révoque pas les jetons existants. Les sessions que votre application détient déjà continuent de fonctionner ; seules les nouvelles demandes de jeton exigent le nouveau secret.

Un client public (tout ce qui ne peut pas garder un secret : une application dans le navigateur, une application mobile, une CLI) n'a aucun secret. C'est PKCE qui le protège, et PKCE est obligatoire pour tous les clients, quels qu'ils soient.

Validation

Un client enregistré par un administrateur de club, ou par nous, est validé d'emblée.

Un client qui s'est enregistré lui-même est en attente. Il fonctionne — mais uniquement pour le compte qui l'a enregistré. C'est voulu : vous pouvez développer et tester une intégration de bout en bout avant que quiconque chez Sporty vous ait parlé, et tant que nous ne l'avons pas examinée, aucun autre compte n'est exposé. Quand vous êtes prêt, contactez-nous et nous l'examinerons.

Sur l'écran de consentement, le membre est informé lorsqu'une application n'a pas été examinée.

Retrait d'une application

Deux choses peuvent mettre fin à une intégration :

  • Supprimer l'application (par son propriétaire) révoque immédiatement tous ses jetons.
  • La bannir (par l'équipe Sporty) fait de même et refuse les nouveaux. Réservé aux applications qui font ce qu'elles ne devraient pas.

Aucune de ces deux actions n'est réversible de votre côté, et aucune n'arrive par surprise — nous vous aurons parlé avant, sauf si quelque chose est en train de mal tourner.