OAuth i prijava putem Sportyja
Sporty je pružatelj usluge OAuth 2.1 i OpenID Connect. Vaša aplikacija može zatražiti dopuštenje od člana, dobiti pristupni token ograničenog opsega i njime čitati ono na što je član pristao — bez da ikad vidi njegovu lozinku, a član taj pristup može opozvati u bilo kojem trenutku.
Sve je ovdje standardno. Radit će bilo koja OAuth ili OIDC klijentska biblioteka; ne biste trebali pisati ništa posebno za Sporty.
Koji tok vam treba
| Što izrađujete | Koristite |
|---|---|
| Web, mobilnu ili desktop aplikaciju koja djeluje u ime osobe koja je koristi | Authorization code + PKCE |
| „Prijavu putem Sportyja” — trebate samo znati tko je netko | Authorization code + PKCE, s opsegom openid |
| Integraciju poslužitelj–poslužitelj koja djeluje u ime kluba, bez prisutne osobe | Client credentials |
| Sustav rezervacija koji svoj raspored usklađuje s klupskim | Client credentials, pogledajte Sinkronizacija rezervacija |
| AI agenta ili MCP klijenta | Authorization code + PKCE, obično uz dinamičku registraciju |
Nema ni password granta ni implicit granta. OAuth 2.1 uklanja oba.
Krajnje točke
Sve se nalazi na https://api.sporty.plus.
| Namjena | Krajnja točka |
|---|---|
| Autorizacija | GET /oauth2/authorize |
| Token | POST /oauth2/token |
| Opoziv (RFC 7009) | POST /oauth2/token/revoke |
| Dinamička registracija (RFC 7591) | POST /oauth2/register |
| UserInfo | GET /oauth2/userinfo |
| JWKS | GET /oauth2/jwks |
Umjesto da ih upisujete izravno u kod, dohvatite jedan od discovery dokumenata:
curl https://api.sporty.plus/.well-known/openid-configuration
curl https://api.sporty.plus/.well-known/oauth-authorization-server
curl https://api.sporty.plus/.well-known/oauth-protected-resource
Gdje tokeni rade
Pristupni token koristi se na partnerskom API-ju, https://api.sporty.plus/api/partner/v1.
Nigdje drugdje neće raditi. Konkretno, /api/v3, API koji koriste naše vlastite aplikacije,
OAuth tokene odbija bez iznimke i odgovara 403 s porukom koja to i kaže. Taj je dio API-ja
namijenjen ljudima koji koriste naše sučelje, a ne aplikacijama koje djeluju u njihovo ime, a
propuštanje tokena onamo dalo bi daleko više od onoga što je opisao ijedan zaslon za privolu.