Generer autentiseringsstrenger (REST API)

Sist oppdatert: 7. oktober 2026

Noen REST-endepunkter tillater sensitive operasjoner, som å legge inn ordre eller be om uttak av digitale eiendeler. Disse private endepunktene kan derfor bare kalles via krypterte forespørsler, og en autentiseringsstreng (authent) må inkluderes i hver slik forespørsel. authent beregnes fra følgende inndataverdier:

PostData

postData er en «&»-sammenkjeding på formen = og er spesifikk for hvert REST-endepunkt.

Eksempel

For å bruke endepunktet orderbook velger du argumentet symbol med verdien
fi_xbtusd_180615. postData blir da symbol=fi_xbtusd_180615.

Oppdatering av autentiseringsflyt for v3-endepunkter: Fra og med 20. februar 2024 oppdaterer vi autentiseringsflyten for våre /derivatives/* (v3)-endepunkter, for å følge beste praksis og sikre en høyere sikkerhetsstandard. (detaljer nedenfor)

Endringer i PostData-generering:


- Før lansering: Kunder måtte hashe spørringsstrengparametere før url-koding for Authent-generering, f.eks. `greeting=hello world`.


- Etter lansering: Autentiseringsprosessen krever nå hashing av den fullstendige, url-kodede URI-komponenten slik den vises i forespørselen, f.eks. `greeting=hello%20world`. Denne metoden styrker sikkerheten og er i tråd med beste praksis.
Denne oppdateringen er særlig relevant for v3 batchorder-endepunktet, som aksepterer en JSON-kropp i spørringsparametrene.


Bakoverkompatibilitet og fremtidige planer:


Foreløpig er denne endringen bakoverkompatibel. Plattformen godtar begge PostData-genereringsmetodene beskrevet ovenfor. Vi planlegger imidlertid å fase ut den gamle metoden (hashing av dekodede spørringsstrengparametere) for å opprettholde de høyeste sikkerhetsstandardene. Vi varsler i god tid før denne endringen og oppfordrer alle kunder på det sterkeste til å gå over til den nye metoden så snart som mulig for å sikre uavbrutt tjeneste.

Nonce

nonce er en kontinuerlig stigende heltallsparameter. En god nonce er systemtiden din i
millisekunder (i strengformat). Systemet vårt tolererer nonces som kommer i feil rekkefølge i en kort periode. nonce er ikke påkrevd.

Eksempel 1415957147987

Mange autentiseringsproblemer skyldes feil nonce. Et nytt API-nøkkelpar tilbakestiller automatisk nonce og løser disse problemene.

Endepunktbane

endpointPath er URL-utvidelsen til endepunktet.

Eksempel /api/v3/orderbook

API-hemmelighet

api_secret hentes som beskrevet i forrige avsnitt.

Eksempel

rttp4AzwRfYEdQ7R7X8Z/04Y4TZPa97pqCypi3xXxAqftygftnI6H9yGV+O
cUOOJeFtZkr8mVwbAndU3Kz4Q+eG

Basert på disse inndataene beregnes authent som følger:

  1. 1

    Sammenkjed

    postData

    +

    nonce

    +

    endpointPath

  2. 2

    Hash resultatet fra trinn 1 med SHA-256-algoritmen

  3. 3

    Base64-dekod api_secret-en din

  4. 4

    Bruk resultatet fra trinn 3 til å hashe resultatet fra trinn 2 med HMAC-SHA-512-algoritmen

  5. 5

    Base64-kod resultatet fra trinn 4

Eksempel

Følgende viser en implementasjon av authent i Java. For fullstendige eksempler på ulike programmeringsspråk, se delen Tilleggsressurser. public static String getAuthent(String postData, String nonce, String endpointPath, String secretKeyBase64)
{
Mac mac512;
MessageDigest sha256;
try {
SecretKey secretKey = new SecretKeySpec 
(Base64.decode(secretKeyBase64.getBytes()), HMAC_SHA_512);
mac512 = Mac.getInstance(HMAC_SHA_512);
mac512.init(secretKey);
sha256 = MessageDigest.getInstance("SHA-256");
} catch (IOException e) {
...
} catch (InvalidKeyException e) {
...
} catch (NoSuchAlgorithmException e) {
...
} sha256.update(postData.getBytes());
sha256.update(nonce.getBytes());
sha256.update(endpointPath.getBytes());
mac512.update(sha256.digest());
return Base64.encodeBytes(mac512.doFinal()).trim();
}