OAuth i prijava putem Sportyja

Registracija aplikacije

Kako dobiti client id, kako smije izgledati redirect URI i što znači „čeka pregled”.

Client id možete dobiti na tri načina.

KakoZa kogaŠto dobivate
Administrator kluba registrira ga u Sporty adminu, pod Postavke → API klijentiSvakoga tko radi za jedan klubPovjerljivi klijent, već odobren, vezan uz taj klub
Mi ga registriramo za vasPartnere koji se integriraju s mnogo klubovaPovjerljivi klijent, uz zasebno odobrenje za svaki klub koji pristane
Dinamička registracijaAgente i MCP klijenteJavni klijent koji čeka pregled

Redirect URI-ji

Autorizacijski kod isporučuje se na ono što ovdje registrirate, pa je ovo jedina postavka koju se isplati namjestiti potpuno točno. Provodimo sljedeće:

  • samo https — uz jednu iznimku, opisanu niže
  • bez zamjenskih znakova — https://*.example.com/cb se odbija
  • bez fragmenata — https://example.com/cb#anything se odbija
  • točno podudaranje u trenutku autorizacije; URI koji je samo sličan ne prihvaća se

Iznimka je loopback adresa. Desktop, CLI ili nativna aplikacija nema vlastitu https adresu, pa su http://127.0.0.1/callback i http://localhost/callback dopušteni, a port se pri usporedbi zanemaruje (RFC 8252).

Tajni ključevi klijenta

Povjerljivi klijent tajni ključ dobiva jednom, u odgovoru kojim je stvoren. Pohranjuje se kao hash, pa ga nitko — pa ni mi — ne može ponovno pročitati. Ako ga izgubite, zamijenite ga novim i ažurirajte svoju aplikaciju.

Zamjena tajnog ključa ne opoziva postojeće tokene. Sesije koje vaša aplikacija već ima i dalje rade; novi ključ trebaju samo novi zahtjevi za token.

Javni klijent (sve što ne može čuvati tajnu: aplikacija u pregledniku, mobilna aplikacija, CLI) uopće nema tajni ključ. Njega štiti PKCE, a PKCE je obavezan za svakog klijenta bez obzira na to.

Odobrenje

Klijent kojeg je registrirao administrator kluba, ili mi, odobren je od samog početka.

Klijent koji se registrirao sam čeka pregled. Radi — ali samo za račun koji ga je registrirao. To je namjerno: integraciju možete izraditi i testirati od početka do kraja prije nego što je itko iz Sportyja razgovarao s vama, a dok je ne pregledamo, ničiji drugi račun nije izložen. Kad budete spremni, javite nam se i pregledat ćemo je.

Na zaslonu za privolu član se obavještava kad aplikacija još nije pregledana.

Uklanjanje

Integraciju mogu prekinuti dvije stvari:

  • Brisanje aplikacije (njezin vlasnik) odmah opoziva svaki token.
  • Zabrana (osoblje Sportyja) čini isto i odbija nove tokene. Rezervirano za aplikacije koje rade nešto što ne bi smjele.

Nijedno se ne može poništiti s vaše strane, i nijedno nije iznenađenje — razgovarat ćemo s vama prije toga, osim ako nešto upravo ne pođe po zlu.