Lumaktaw sa pangunahing nilalaman
s.id Logo
Developer Platform

Pagpapatunay

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

Aling paraan ang dapat mong gamitin?

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.

OAuth 2.0

Pinakamainam para sa third-party app na nangangailangan ng pahintulot ng user at granular, maaaring bawiing access sa s.id account.

Mga API Key

Server-to-server na access

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 header
Authorization: Bearer sk_live_...
Halimbawa ng request
curl https://api.s.id/v2/links \
  -H "Authorization: Bearer sk_live_..."

Checklist sa seguridad

  • Ang mga key ay nagsisimula sa sk_live_ at isang beses lamang ipinakikita sa paglikha.
  • Humiling lamang ng minimum na mga scope na kailangan ng iyong integrasyon.
  • Bawiin agad ang mga key kapag nakompromiso, gumawa ng bago.
  • Huwag kailanman ilantad ang mga API key sa client-side (mga browser, mobile app).
links:read
links:write
links:archive
links:analytics
qr:read
qr:write
user:read
microsites:read
microsites:write
microsites:delete

OAuth 2.0

Authorization flow

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.

Bago i-redirect ang user

  • Gumawa ng hindi mahuhulaang state value, itago ito sa user session, at tiyaking eksaktong tugma sa callback upang maiwasan ang CSRF.
  • Gumamit ng redirect_uri na eksaktong tumutugma sa nakarehistro para sa iyong OAuth application.

Mga public client

Kailangan ang PKCE, walang client secret

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.

I-redirect ang user
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=S256
Palitan ang code ng token
curl -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

Client secret sa pinagkakatiwalaang backend

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.

I-redirect ang user
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
Palitan ang code ng token
curl -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"

Access token

Mag-e-expire pagkalipas ng 1 oras

Refresh token

Mag-e-expire pagkalipas ng 30 araw

Authorization code

Isang beses lang magagamit; mag-e-expire pagkalipas ng 10 minuto

I-rotate ang refresh token
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"
Bawiin ang token
curl -X POST https://api.s.id/oauth/revoke \
  -H "Content-Type: application/json" \
  -d '{"token":"TOKEN_TO_REVOKE"}'

Discovery at mga token operation

Metadata ng authorization server

https://api.s.id/.well-known/oauth-authorization-server

Tuklasin ang mga endpoint URL, suportadong scope, at PKCE method sa pamamagitan ng RFC 8414 metadata.

Token introspection

POST https://api.s.id/oauth/introspect

Maaaring tingnan ng confidential resource server kung aktibo ang token at suriin ang mga scope nito.

Pagbawi ng token

POST https://api.s.id/oauth/revoke

Bawiin ang access o refresh token kapag idiniskonekta ng user ang iyong integration.

Awtorisadong user

GET https://api.s.id/oauth/userinfo

Basahin ang profile na nauugnay sa OAuth access token na may user:read.

Handa na bang magsimulang bumuo?

Gumawa ng API key sa loob ng ilang minuto. Kasama ang libreng tier, walang credit card na kailangan.

Kumuha ng iyong API key