API dokumentáció
Fejlett hitelesítési minták — OAuth 2.0, JWT, kulcsrotáció
Ismerje meg a kifinomult hitelesítési mechanizmusokat a Smart Money API vállalati környezetbe való integrálásához. Tanuljon OAuth 2.0 folyamatokról, JWT token mintákról, biztonságos kulcsrotációról és többtényezős hitelesítés implementálásáról.
Közzétéve: 2026. március 21.
•
18 perc olvasás
•
Haladó
Hitelesítés áttekintése
A Smart Money API többféle hitelesítési módszert támogat, amelyek különböző alkalmazásarchitektúrákat, biztonsági követelményeket és szervezeti irányelveket képesek kielégíteni. Ezeknek a mintáknak a megértése biztosítja, hogy az integráció biztonságos és hatékony legyen.
A Smart Money API hitelesítése három fő rétegben működik:
- API kulcsok — Egyszerű bearer token hitelesítés fejlesztéshez és egyszerű integrációkhoz
- JWT tokenek — Állapotmentes, kriptográfiailag aláírt tokenek elosztott rendszerekhez és mikroszolgáltatásokhoz
- OAuth 2.0 — Delegált engedélyezési keretrendszer harmadik féltől származó integrációkhoz és SaaS alkalmazásokhoz
Biztonsági elv: Soha ne tegye közzé hitelesítési adatokat kliensoldali kódban, naplókban, verziókövetésben vagy hibaüzenetekben. Végezzen el rendszeres időközönként és azonnali veszély esetén hitelesítő adatok rotációját.
Mindegyik módszernek megvannak a saját előnyei. Az API kulcsok a legjobban backend-to-backend kommunikációhoz alkalmasak, ahol a hitelesítő adatok tárolása ellenőrizhető. A JWT tokenek elosztott architektúrákban kiválóak, ahol nincs megosztott állapot. Az OAuth 2.0 felhasználó által delegált hozzáférést biztosít harmadik féltől származó alkalmazások számára.
API kulcs hitelesítés
Az API kulcsok a legegyszerűbb hitelesítési mechanizmusok—véletlenszerű karakterláncok, amelyeket a fiókodhoz generálnak, és amelyek azonosítják az alkalmazásod a Smart Money API-val szemben. Minden kérésnek tartalmaznia kell az API kulcsodat, legyen az fejléc vagy lekérdezési paraméter.
Fejléc alapú API kulcs
Az ajánlott módszer az API kulcs átadása az Authorization fejlécben, a Bearer séma használatával:
curl -X GET "https://api.smartmoneyapi.com/v1/whales/btc" \
-H "Authorization: Bearer sk_live_1234567890abcdef" \
-H "Accept: application/json"
Lekérdezési paraméter API kulcs
WebSocket kapcsolatokhoz vagy ha a fejlécek nem módosíthatók, az API kulcsot lekérdezési paraméterként kell átadni:
ws://localhost:8877/ws?api_key=sk_live_1234567890abcdef
// Hitelesített WebSocket stream létrehozása
API kulcs jellemzői
| Tulajdonság |
Leírás |
| Formátum |
128 karakteres hexadecimális karakterlánc, sk_test_ vagy sk_live_ előtaggal |
| Hatáskör |
Örökli annak a fióknak az összes engedélyét, amely létrehozta |
| Lejárat |
Soha nem jár le automatikusan; manuálisan kell forgatni |
| Forgatás |
Új kulcs generálása, forgalom átirányítása, majd a régi kulcs deaktiválása |
| Korlátok |
Megosztva az összes kérés között, amely ugyanazt a kulcsot használja |
API kulcs biztonsági gyakorlatok
- Környezeti változók — Kulcsok tárolása .env fájlokban (nem kerülnek verziókövetésbe) és futásidőben betöltése
- Tárhely rendszerek — Használja a HashiCorp Vault, AWS Secrets Manager vagy Azure Key Vault termelési környezetben
- Kulcsok szétválasztása — Tartsa külön a teszt és éles kulcsokat; forgassa gyakran a teszt kulcsokat
- Minimális hatókör — Hozzon létre külön kulcsokat különböző integrációkhoz, amikor lehetséges
- Naplózás ellenőrzése — Naplózza az összes API kulcs létrehozását és használatát
Szerezze meg API kulcsát 30 másodperc alatt
Készen áll az építésre? Szerezzen egy ingyenes API kulcsot (100 hívás/nap, kártya nélkül), és kezdjen élő bálnák, finanszírozási és láncon lévő adatok lekérését.
Szerezze meg API kulcsát →
Bearer Token Minta
A bearer tokenek kiterjesztik az egyszerű API kulcs koncepcióját kontextussal, lejárattal és frissítési mechanizmusokkal. Ideálisak azokhoz az alkalmazásokhoz, amelyek programozott hitelesítéskezelést igényelnek.
Bearer Tokenek Beszerzése
Cserélje le API kulcsát és titkos kulcsát egy 24 óráig érvényes bearer tokenre:
curl -X POST "https://api.smartmoneyapi.com/v1/auth/token" \
-H "Content-Type: application/json" \
-d '{
"api_key": "sk_live_1234567890",
"api_secret": "secret_abc123xyz"
}'
Token Válasz Formátum
A végpont egy bearer tokent ad vissza metaadatokkal:
{
"access_token": "eyJhbGciOiJIUzI1NiIs...",
"token_type": "Bearer",
"expires_in": 86400,
"refresh_token": "refresh_1234567..."
}
Bearer Tokenek Használata
Adja hozzá a tokent az Authorization fejlécbe minden további kéréshez:
curl -X GET "https://api.smartmoneyapi.com/v1/derivatives/funding-heatmap" \
-H "Authorization: Bearer eyJhbGciOiJIUzI1NiIs..."
Token Frissítési Folyamat
Amikor egy token közeledik a lejárathoz, használja a frissítő tokent egy új token megszerzéséhez anélkül, hogy API titkos kulcsra lenne szüksége:
curl -X POST "https://api.smartmoneyapi.com/v1/auth/refresh" \
-H "Content-Type: application/json" \
-d '{
"refresh_token": "refresh_1234567..."
}'
OAuth 2.0 Implementáció
Az OAuth 2.0 lehetővé teszi a felhasználók számára, hogy alkalmazások hozzáférést kapjanak Smart Money API fiókjaikhoz hitelesítő adatok megosztása nélkül. Ez elengedhetetlen SaaS platformokhoz, harmadik féltől származó integrációkhoz és több-bérlős alkalmazásokhoz.
OAuth 2.0 Engedélyezési Kód Folyamat
A szabványos folyamat webalkalmazásokhoz:
- Felhasználó Bejelentkezés Kezdeményezése — A felhasználó rákattint a "Kapcsolódás Smart Money API-val" gombra
- Átirányítás az Engedélyezési Szerverre — Az alkalmazása átirányítja a felhasználót a Smart Money engedélyezési végpontjára
- Felhasználó Engedélyezése — A felhasználó áttekinti a kért hatóköröket és hozzáférést ad
- Engedélyezési Kód Visszaadása — A felhasználó vissza lesz irányítva egy engedélyezési kóddal
- Kód Cseréje Tokenre — A háttérrendszer kicseréli a kódot hozzáférési tokenre (a kód soha nem kerül a frontendre)
- Token Tárolása — Tárolja biztonságosan a frissítési tokent; használja a hozzáférési tokent API hívásokhoz
1. lépés: Irányítsa át a felhasználót az engedélyezési végpontra
// URL a felhasználó átirányításához
const authUrl = new URL('https://api.smartmoneyapi.com/oauth/authorize');
authUrl.searchParams.append('client_id', 'your_client_id');
authUrl.searchParams.append('redirect_uri', 'https://yourapp.com/callback');
authUrl.searchParams.append('response_type', 'code');
authUrl.searchParams.append('scope', 'whales derivatives onchain');
authUrl.searchParams.append('state', generateRandomState());
window.location.href = authUrl.toString();
2. lépés: Kezelje a visszahívást és cserélje ki a kódot
// A backend kezeli a /callback útvonalat
const code = req.query.code;
const storedState = req.session.state;
const receivedState = req.query.state;
// Ellenőrizze a state paramétert
if (storedState !== receivedState) {
throw new Error('State mismatch - CSRF attack detected');
}
// Cserélje ki a kódot tokenre
const tokenResponse = await fetch('https://api.smartmoneyapi.com/oauth/token', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({
grant_type: 'authorization_code',
code: code,
client_id: process.env.OAUTH_CLIENT_ID,
client_secret: process.env.OAUTH_CLIENT_SECRET,
redirect_uri: 'https://yourapp.com/callback'
})
});
const tokens = await tokenResponse.json();
// Tárolja biztonságosan a tokeneket
OAuth Scopes
Csak azokat a scopes-okat kérje, amelyekre az alkalmazásának szüksége van. A Smart Money API a következő scopes-okat határozza meg:
| Scope |
Leírás |
| whales |
Hozzáférés bálnák pénztárca követéséhez és felhalmozási metrikákhoz |
| derivatives |
Hozzáférés futures, perpetuals és funding rate adatokhoz |
| onchain |
Hozzáférés on-chain tranzakciókhoz és elemzésekhez |
| alerts |
Webhook riasztások létrehozása és kezelése |
| offline |
Hozzáférés frissítési tokenekhez új hozzáférési tokenek offline beszerzéséhez |
JWT Token Management
A JWT (JSON Web Tokens) állapotmentes hitelesítést biztosít – a szervernek nem kell munkamenetadatokat tárolnia. A Smart Money API RS256 (RSA Signature with SHA-256) algoritmust használ a tokenek aláírására, lehetővé téve az ellenőrzést az API-val való kapcsolat nélkül.
JWT Structure
A JWT tokenek három részből állnak, amelyeket pontok választanak el:
eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6IjEifQ.
eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkFjY3QxMjM0In0.
SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c
// HEADER.PAYLOAD.SIGNATURE
JWT Header
A fejléc az algoritmust és a token típusát azonosítja:
{
"alg": "RS256",
"typ": "JWT",
"kid": "1"
}
JWT Payload Claims
A payload tartalmazza a claims-eket (állításokat a felhasználóról/alkalmazásról):
{
"sub": "acct_1234567890",
"name": "Trading Bot",
"iat": 1703001600,
"exp": 1703088000,
"scopes": ["whales", "derivatives"],
"aud": "https://api.smartmoneyapi.com"
}
Verifying JWT Signatures
Töltse le a Smart Money nyilvános kulcsát és ellenőrizze a tokeneket, mielőtt elfogadná őket:
const jwt = require('jsonwebtoken');
const fs = require('fs');
// Get public key from Smart Money API
const publicKey = fs.readFileSync('smartmoney-public.pem');
// Verify token
try {
const decoded = jwt.verify(token, publicKey, {
algorithms: ['RS256'],
audience: 'https://api.smartmoneyapi.com',
issuer: 'https://api.smartmoneyapi.com'
});
// Token is valid, use decoded claims
} catch (err) {
// Token invalid or expired
}
Key Rotation Strategy
A rendszeres kulcscsere elengedhetetlen a biztonság fenntartása érdekében. Még tökéletes biztonsági gyakorlatok mellett is feltételezze, hogy a kulcsok veszélyeztethetők, és alkalmazzon rendszeres cserét.
Rotation Frequency
A Smart Money különböző rotációs ütemterveket ajánl a kulcs típusa és használata alapján:
| Key Type |
Ajánlott csere |
Minimális csere |
| Test API Keys |
Havonta |
Negyedévente |
| Production API Keys |
Negyedévente |
Évente |
| OAuth Refresh Tokens |
Automatikus (90 nap után) |
Manuális (180 nap után) |
| Service Account Keys |
Félévente |
Évente |
Zero-Downtime Rotation Process
Forgassa el a kulcsokat szolgáltatás megszakítása nélkül:
- Generate New Key — Hozzon létre új API kulcsot az irányítópulton vagy API-n keresztül
- Deploy New Key — Frissítse az alkalmazás titkait a staging környezetben, tesztelje alaposan
- Gradual Rollout — Telepítse a szerverek 10%-ára, figyelje a hibákat
- Teljes bevezetés — Üzembe helyezés a fennmaradó szervereken
- Forgalom ellenőrzése — Ellenőrizze, hogy minden kérés az új kulcsot használja-e
- Régi kulcs deaktiválása — Jelölje meg a régi kulcsot inaktívként, de ne törölje azonnal
- Régi kulcs törlése — 48 óra hibamentes működés után véglegesen törölhető
Vészhelyzeti kulcsrotáció
Ha gyanítja, hogy egy kulcs sérült:
// Azonnali intézkedés: A sérült kulcs deaktiválása
curl -X POST "https://api.smartmoneyapi.com/v1/keys/sk_live_xxx/revoke" \
-H "Authorization: Bearer token"
// Azonnal generáljon helyettesítő kulcsot
curl -X POST "https://api.smartmoneyapi.com/v1/keys" \
-H "Content-Type: application/json" \
-d '{
"name": "Vészhelyzeti helyettesítő kulcs"
}'
Automatikus rotáció Kubernetesben
Használjon Kubernetes Secrets és operátorokat az automatikus rotációhoz:
apiVersion: batch/v1
kind: CronJob
metadata:
name: api-key-rotator
spec:
schedule: "0 0 * * 0" # Hetente vasárnap
jobTemplate:
spec:
template:
spec:
containers:
- name: rotator
image: smartmoney-key-rotator:latest
Többtényezős hitelesítés (MFA)
A termelési adatokhoz hozzáférő fiókok esetén az MFA további biztonsági réteget biztosít, mivel a hitelesítő adatokon túl második tényezőt is megkövetel.
Támogatott MFA módszerek
- TOTP (Időalapú egyszeri jelszó) — Alkalmazások, mint a Google Authenticator, Authy
- WebAuthn/FIDO2 — Hardveres biztonsági kulcsok, biometria
- SMS egyszeri kódok — Kevésbé biztonságos, de univerzálisan támogatott
- E-mail megerősítés — Megerősítő kódok a regisztrált e-mail címre küldve
TOTP engedélyezése fiókhozzáféréshez
// 1. lépés: MFA beállítás kérése
curl -X POST "https://api.smartmoneyapi.com/v1/account/mfa/enable" \
-H "Authorization: Bearer token"
// A válasz tartalmazza a QR-kód URL-t
{
"qr_code_url": "https://...",
"secret": "JBSWY3DPEBLW64TMMQ...",
"backup_codes": ["12345678", ...]
}
MFA az API műveletek során
Egyes műveletek MFA megerősítést igényelhetnek a hitelesítés után is:
// Bizalmas művelet megkísérlése (kulcsrotáció)
curl -X POST "https://api.smartmoneyapi.com/v1/keys/rotate" \
-H "Authorization: Bearer token" \
-H "X-MFA-Token: mfa_challenge_abc123"
// Válasz: MFA szükséges
{
"error": "mfa_required",
"mfa_token": "mfa_xyz789"
}
// Újrapróbálkozás TOTP kóddal
curl -X POST "https://api.smartmoneyapi.com/v1/keys/rotate" \
-H "Authorization: Bearer token" \
-H "X-MFA-Code: 123456"
Biztonsági ajánlott eljárások
A hitelesítés csak annyira erős, mint a megvalósítása. Kövesse ezeket a gyakorlatokat a biztonság fenntartása érdekében:
Titkok kezelése
- Sosem commitoljon titkokat a verziókövetésbe — Használjon .env fájlokat .gitignore-val
- Használjon környezeti változókat — Töltse be biztonságos titkosítási rendszerekből
- Repozitóriumok szkennelése — Használjon olyan eszközöket, mint a TruffleHog, detect-secrets a kiszivárgott kulcsok felkutatására
- Hozzáférési naplók auditálása — Figyelje, ki és mikor fér hozzá a titkokhoz
Szállítási biztonság
- Mindig használjon HTTPS-t — Sosem küldjön hitelesítő adatokat titkosítatlan kapcsolaton keresztül
- SSL tanúsítványok ellenőrzése — Ne tiltsa le a tanúsítványérvényesítést termelésben
- Használjon tanúsítvány rögzítést — Mobilalkalmazások esetén megelőzheti a MITM támadásokat
- TLS 1.2+ kényszerítése — Tiltsa le a régebbi protokollokat
Hitelesítő adatok kezelése
- Titkok hashelése — Tároljon bcrypt vagy Argon2 hash-eket, sosem nyers szöveget
- Élettartam minimalizálása — A hitelesítő adatokat csak a szükséges ideig tartsa a memóriában
- Érzékeny adatok törlése — Explicitül írja felül a hitelesítő adatokat használat után
- Biztonságos könyvtárak használata — Ne implementáljon saját titkosítást
Naplózás és monitorozás
- Sosem naplózzon hitelesítő adatokat — Maszkolja a kulcsokat a naplókban, használjon log maszkolást
- Hitelesítési események naplózása — Kövesse nyomon a sikeres és sikertelen bejelentkezési kísérleteket
- Rendellenességek monitorozása — Figyelmeztessen szokatlan hozzáférési mintákra
- Kulcshasználat auditálása — Kövesse nyomon, mely kulcsok értek el milyen adatokat
Vállalati hitelesítési minták
A nagy szervezetek gyakran további biztonsági ellenőrzéseket és megfelelési képességeket igényelnek.
SAML 2.0 integráció
Vállalati ügyfelek számára a Smart Money API támogatja a SAML 2.0 integrációt a szervezet identitásszolgáltatójával (Okta, Azure AD stb.):
- Egyszeri bejelentkezés (SSO) — A felhasználók a vállalati IdP-n keresztül hitelesítik magukat
- Automatikus kiépítés — Fiókok létrehozása/inaktiválása csoporttagság alapján
- Kényszerítés — SAML megkövetelése minden felhasználói hozzáféréshez
IP engedélyezési lista
Korlátozza az API hozzáférését meghatározott IP-címekre vagy CIDR tartományokra:
// IP hozzáadása a whitelisthez
curl -X POST "https://api.smartmoneyapi.com/v1/account/ip-whitelist" \
-H "Authorization: Bearer token" \
-d '{
"cidr": "203.0.113.0/24",
"description": "Production servers"
}'
Audit Logging and Compliance
Az Enterprise csomagok átfogó auditnaplókat tartalmaznak megfelelőséghez:
| Event |
Logged Data |
| Authentication |
Felhasználó, időbélyeg, siker/hiba, IP, MFA állapot |
| Key Operations |
Kulcs azonosító, művelet, kezdeményező, időbélyeg |
| Account Changes |
Mi változott, ki változtatta, időbélyeg, előtte/utána értékek |
| Data Access |
Felhasználó, végpont, hatókörök, időbélyeg, rekordok száma |
Troubleshooting Authentication Issues
Invalid API Key Error
Probléma: "401 Unauthorized - Invalid API Key" hibaüzenet érkezik
Megoldások:
- Ellenőrizze a kulcs formátumát (sk_test_ vagy sk_live_ kell, hogy kezdődjön)
- Ellenőrizze a kulcsban lévő kezdő/záró szóközöket
- Erősítse meg, hogy a kulcsot nem deaktiválták vagy cserélték le
- Győződjön meg róla, hogy a megfelelő környezetet használja (teszt kulcs teszteléshez, élő éleshez)
- Ellenőrizze, hogy az API kulcs jogosultságai megfelelnek-e a végpont követelményeinek
Token Expired Error
Probléma: A Bearer token lejárt, a kérések sikertelenek
Megoldások:
- Használjon refresh tokent új access token lekéréséhez
- Valósítson meg automatikus token frissítést 5 perccel a lejárat előtt
- Tárolja biztonságosan a refresh tokent (ne localStorage-ban SPA-k esetén)
- Kezelje a 401 válaszokat a refresh token folyamat megpróbálásával
CORS/Preflight Errors
Probléma: A böngésző CORS hibával blokkolja a kéréseket
Megoldások:
- A böngészőből érkező API hívásoknak whitelistelt eredetűeknek kell lenniük
- Adja hozzá a domainjét a vezérlőpulton: Beállítások → CORS Origins
- A böngésző automatikusan küld OPTIONS preflight kérést
- Fejlesztéshez használjon localhost:3000 vagy hasonlót
MFA Challenge Not Completing
Probléma: Az MFA-t igénylő műveletek hibásak, még a helyes kód megadása esetén is
Megoldások:
- Győződjön meg róla, hogy a szerver órája szinkronizálva van (a TOTP időre támaszkodik)
- A kód csak 30 másodpercig érvényes, generáljon újat
- Használjon tartalék kódokat, ha a hitelesítő alkalmazás nem elérhető
- Fiók helyreállítás elérhető a regisztrált e-mail címen keresztül
Implement Secure Authentication Today
A Smart Money API támogatja az enterprise szintű hitelesítést OAuth 2.0, JWT, MFA és SAML integrációval. Biztosítsa API integrációját az iparági legjobb gyakorlatok szerint.
View Enterprise Plans
SAML, IP whitelisting vagy dedikált támogatás szükséges? Lépjen kapcsolatba értékesítési csapatunkkal.