Μετάβαση στην πλοήγηση

Agent SDK Μυστικά και HMAC Υπογραφή

Προστατέψτε τα διαπιστευτήρια του πράκτορα API και κατανοήστε πώς το SDK δημιουργεί υπογραφές αιτημάτων HMAC-SHA256 με χρονική σήμανση, ανθεκτική στην επανάληψη.

Προβολή ως Markdown

Τα αιτήματα Agent SDK επαληθεύονται με μυστικό συνεργάτη API. Κρατήστε αυτό το μυστικό σε μια αξιόπιστη υπηρεσία υποστήριξης και αφήστε το SDK να δημιουργήσει πεδία υπογραφής όποτε είναι δυνατόν.

Δύο πρωτόκολλα υπογραφής

Η υπογραφή Agent SDK χρησιμοποιεί ταξινομημένα πεδία αιτημάτων, μια χρονική σήμανση που βασίζεται σε δευτερόλεπτα και ένα nonce. Άμεσα αιτήματα Developer API χρησιμοποιούν την ξεχωριστή διαδικασία που περιγράφεται στο Υπογραφή αιτήματος. Μην επαναχρησιμοποιείτε τη μία μορφή ωφέλιμου φορτίου για την άλλη.

Κανόνας υπογραφής

Για Agent SDK αιτήματα:

  1. Εξαιρέστε το πεδίο sign.
  2. Παράλειψη πεδίων με κενές τιμές.
  3. Ταξινομήστε τα υπόλοιπα ονόματα πεδίων με τη σειρά ASCII.
  4. Ενώστε τα πεδία ως k=v&k2=v2.
  5. Υπολογίστε την HMAC-SHA256 δεκαεξαδική υπογραφή με apiSecret.

Οι τιμές του πίνακα σειριοποιούνται ως συμπαγείς JSON πριν από την ένταξη στο ωφέλιμο φορτίο υπογραφής. Για παράδειγμα, το platformUserIds υπογράφει ως ["1188041528"], δίνοντας platformUserIds=["1188041528"] στο k=v ωφέλιμο φορτίο. Διατηρήστε τη σειρά στοιχείων του πίνακα, τα διπλά εισαγωγικά και τα αναγνωριστικά συμβολοσειρών. Μην εισάγετε κενά μορφοποίησης και μην χρησιμοποιείτε Java List.toString() (όπως [1188041528]). Το SDK χειρίζεται αυτόματα αυτήν τη σειριοποίηση.

Το SDK θα πρέπει να δημιουργήσει αυτήν την τιμή από τα ίδια δεδομένα που στέλνει. Η αλλαγή ενός υπογεγραμμένου πεδίου μετά τη δημιουργία υπογραφής προκαλεί την αποτυχία της επαλήθευσης.

SDK-διαχειριζόμενα πεδία

ΠεδίοΠηγήΠεριγραφή
agentCodeSDK διαμόρφωσηΚωδικός αντιπροσώπου συνεργάτη.
χρονική σφραγίδαΤρέχουσα ώρα διακομιστήUnix timestamp σε δευτερόλεπτα.
καμία φοράΑσφαλής τυχαία τιμήΤυχαία συμβολοσειρά προστασίας αναπαραγωγής.
σημείοHMAC-SHA256Υπογραφή αιτήματος.
νόμισμαΠροεπιλεγμένο νόμισμαΧρησιμοποιείται όταν η μεταφορά/λογαριασμός APIs παραλείπει το νόμισμα.

Μυστική αποθήκευση

  • Φόρτωση apiSecret από έναν διαχειριστή μυστικών υποστήριξης ή μια προστατευμένη διαμόρφωση χρόνου εκτέλεσης.
  • Μην τοποθετείτε ποτέ το μυστικό σε πακέτα frontend, εφαρμογές για κινητά, υπολογιστές-πελάτες για υπολογιστές, στιγμιότυπα οθόνης ή εισιτήρια υποστήριξης.
  • Διατηρήστε χωριστά τα διαπιστευτήρια για ανάπτυξη, σκηνοθεσία και παραγωγή.
  • Περιορίστε την πρόσβαση στις υπηρεσίες και τους φορείς εκμετάλλευσης που το απαιτούν.
  • Διορθώστε υπογραφές αιτημάτων, τιμές εξουσιοδότησης και μυστικά από αρχεία καταγραφής.
  • Ανάκληση και αντικατάσταση διαπιστευτηρίων όταν υπάρχει υποψία έκθεσης.

Προστασία ρολογιού και επανάληψης

Το SDK περιλαμβάνει τα timestamp και nonce για μείωση του κινδύνου επανάληψης. Διατηρήστε συγχρονισμένα τα ρολόγια του backend και μην επαναχρησιμοποιείτε ένα μη αυτόματο κατασκευασμένο μη αυτόματο. Εάν η επικύρωση υπογραφής αποτύχει, επιβεβαιώστε το διαμορφωμένο μυστικό, τον χρόνο διακομιστή, τα σειριακά πεδία και το περιβάλλον πριν προσπαθήσετε ξανά.

Λίστα ελέγχου ενσωμάτωσης

ΕλεγχοςΑναμενόμενο αποτέλεσμα
Μυστική τοποθεσίαΜυστικός χώρος αποθήκευσης μόνο backend.
ΠεριβάλλοΗ βάση URL και το διαπιστευτήριο ανήκουν στο ίδιο περιβάλλον.
Χειρισμός πεδίουΤο SDK δημιουργεί τα timestamp, nonce και sign.
ΞύλευσηΤα αναγνωριστικά επιχείρησης παραμένουν ορατά ενώ τα διαπιστευτήρια διαγράφονται.
ΠεριστροφήΟ ιδιοκτήτης διαπιστευτηρίων και η διαδικασία αντικατάστασης τεκμηριώνονται.

Σχετικά έγγραφα ασφαλείας