Mga API Key
Pinakamainam para sa sarili mong backend, mga nakaiskedyul na gawain, at pribadong automation kung saan hindi nakakarating ang credential sa browser o mobile client.
Dalawang paraan ng pagpapatunay sa s.id API, API key para sa server-to-server, OAuth 2.0 para kumilos sa ngalan ng mga user.
Pumili ayon sa hangganan ng tiwala
Pinakamainam para sa sarili mong backend, mga nakaiskedyul na gawain, at pribadong automation kung saan hindi nakakarating ang credential sa browser o mobile client.
Pinakamainam para sa third-party app na nangangailangan ng pahintulot ng user at granular, maaaring bawiing access sa s.id account.
Mga API Key
Ang mga API key ay nagpapatunay ng mga server-to-server na integrasyon. Gumawa ng isa sa Dashboard → Developer → API Keys, piliin ang iyong mga scope, at ipasa ito bilang Bearer token.
Authorization: Bearer sk_live_...curl https://api.s.id/v2/links \
-H "Authorization: Bearer sk_live_..."links:readlinks:writelinks:archivelinks:analyticsqr:readqr:writeuser:readmicrosites:readmicrosites:writemicrosites:deleteOAuth 2.0
I-redirect ang user sa s.id para sa pahintulot, i-verify ang callback state, at ipagpalit ang single-use code sa access token at umiikot na refresh token.
Mga public client
Para sa SPA, mobile app, at CLI. Gumawa ng random na code_verifier, ipadala ang S256 challenge nito sa authorize, at ipadala ang orihinal na verifier sa token exchange.
https://api.s.id/oauth/authorize?
response_type=code&
client_id=YOUR_CLIENT_ID&
redirect_uri=https%3A%2F%2Fapp.example.com%2Fcallback&
scope=links%3Aread%20links%3Awrite&
state=RANDOM_CSRF_VALUE&
code_challenge=BASE64URL_SHA256_VERIFIER&
code_challenge_method=S256curl -X POST https://api.s.id/oauth/token \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "grant_type=authorization_code" \
-d "client_id=YOUR_CLIENT_ID" \
-d "code=AUTHORIZATION_CODE" \
-d "redirect_uri=https://app.example.com/callback" \
-d "code_verifier=ORIGINAL_RANDOM_VERIFIER"Mga confidential client
Para sa server-rendered o backend application na kayang panatilihing lihim ang client_secret. Opsyonal pa rin ang PKCE at inirerekomenda bilang dagdag na depensa.
https://api.s.id/oauth/authorize?
response_type=code&
client_id=YOUR_CLIENT_ID&
redirect_uri=https%3A%2F%2Fapp.example.com%2Fcallback&
scope=links%3Aread%20links%3Awrite&
state=RANDOM_CSRF_VALUEcurl -X POST https://api.s.id/oauth/token \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "grant_type=authorization_code" \
-d "client_id=YOUR_CLIENT_ID" \
-d "client_secret=YOUR_CLIENT_SECRET" \
-d "code=AUTHORIZATION_CODE" \
-d "redirect_uri=https://app.example.com/callback"Mag-e-expire pagkalipas ng 1 oras
Mag-e-expire pagkalipas ng 30 araw
Isang beses lang magagamit; mag-e-expire pagkalipas ng 10 minuto
curl -X POST https://api.s.id/oauth/token \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "grant_type=refresh_token" \
-d "client_id=YOUR_CLIENT_ID" \
-d "refresh_token=CURRENT_REFRESH_TOKEN"curl -X POST https://api.s.id/oauth/revoke \
-H "Content-Type: application/json" \
-d '{"token":"TOKEN_TO_REVOKE"}'https://api.s.id/.well-known/oauth-authorization-serverTuklasin ang mga endpoint URL, suportadong scope, at PKCE method sa pamamagitan ng RFC 8414 metadata.
POST https://api.s.id/oauth/introspectMaaaring tingnan ng confidential resource server kung aktibo ang token at suriin ang mga scope nito.
POST https://api.s.id/oauth/revokeBawiin ang access o refresh token kapag idiniskonekta ng user ang iyong integration.
GET https://api.s.id/oauth/userinfoBasahin ang profile na nauugnay sa OAuth access token na may user:read.
Gumawa ng API key sa loob ng ilang minuto. Kasama ang libreng tier, walang credit card na kailangan.