Advanced Authentication Patterns — OAuth 2.0, JWT, Key Rotation

ຄຸ້ມຄອງກົນໄກການຢືນຢັນທີ່ສະລັບສັບຊ້ອນເພື່ອປະສານງານ Smart Money API ໃນສະພາບແວດລ້ອມວິສາຫະກິດ. ຮຽນຮູ້ການເຮັດວຽກຂອງ OAuth 2.0, ແບບແຜນ Token JWT, ການປ່ຽນແປງກະແຈທີ່ປອດໄພ, ແລະການປະຕິບັດການຢືນຢັນຫຼາຍປັດໄຈ.

ເຜີຍແຜ່ເມື່ອວັນທີ 21 ມີນາ 2026 • 18 ນາທີ ໃນການອ່ານ • ຂັ້ນສູງ

ພາບລວມການຢືນຢັນ

Smart Money API ຮອງຮັບຫຼາຍວິທີການຢືນຢັນທີ່ອອກແບບມາເພື່ອຮອງຮັບສະຖາປັດຕະຍະກຳແອັບພລິເຄຊັນ, ຄວາມຕ້ອງການດ້ານຄວາມປອດໄພ, ແລະນະໂຍບາຍຂອງອົງກອນ. ການເຂົ້າໃຈແບບແຜນເຫຼົ່ານີ້ຈະຊ່ວຍໃຫ້ການປະສານງານຂອງທ່ານມີທັງຄວາມປອດໄພແລະປະສິດທິພາບ.

ການຢືນຢັນໃນ Smart Money API ເຮັດວຽກໃນສາມຊັ້ນຫຼັກ:

  • API Keys — ການຢືນຢັນແບບ Bearer Token ທີ່ງ່າຍດາຍສຳລັບການພັດທະນາແລະການປະສານງານທີ່ຊັດເຈນ
  • JWT Tokens — Token ທີ່ບໍ່ມີສະຖານະ, ຖືກລົງນາມດ້ວຍລະຫັດສຳລັບລະບົບການແຈກຢາຍແລະ microservices
  • OAuth 2.0 — ໂຄງປະກອບການອະນຸຍາດແບບມອບສິດສຳລັບການປະສານງານພາກສ່ວນທີສາມແລະແອັບພລິເຄຊັນ SaaS

ຫຼັກການຄວາມປອດໄພ: ຫ້າມເປີດເຜີຍຂໍ້ມູນການຢືນຢັນໃນລະຫັດຝ່າຍລູກຄ້າ, ບັນທຶກ, ການຄວບຄຸມລຸ້ນ, ຫຼືຂໍ້ຄວາມຜິດພາດ. ຈັດຕາຕະລາງການປ່ຽນແປງຂໍ້ມູນຢືນຢັນແບບປົກກະຕິ ແລະທັນທີເມື່ອມີການລະເມີດ.

ແຕ່ລະວິທີມີຂໍ້ດີທີ່ແຕກຕ່າງກັນ. API keys ເໝາະສົມທີ່ສຸດສຳລັບການສື່ສານລະຫວ່າງ backend ກັບ backend ເມື່ອການເກັບຮັກສາຂໍ້ມູນຢືນຢັນຖືກຄວບຄຸມ. JWT tokens ເກັ່ງໃນສະຖາປັດຕະຍະກຳແບບແຈກຢາຍທີ່ບໍ່ມີສະຖານະຮ່ວມກັນ. OAuth 2.0 ສະໜອງການເຂົ້າເຖິງແບບມອບສິດຈາກຜູ້ໃຊ້ສຳລັບແອັບພລິເຄຊັນພາກສ່ວນທີສາມ.

API Key Authentication

API keys ແມ່ນກົນໄກການຢືນຢັນທີ່ງ່າຍທີ່ສຸດ—ພວກມັນແມ່ນສະຕຣິງສຸ່ມທີ່ຖືກສ້າງຂຶ້ນສຳລັບບັນຊີຂອງທ່ານທີ່ລະບຸແອັບພລິເຄຊັນຂອງທ່ານໃຫ້ກັບ Smart Money API. ທຸກໆຄຳຮ້ອງຂໍຕ້ອງລວມເອົາ API key ຂອງທ່ານເປັນ header ຫຼື query parameter.

Header-Based API Key

ວິທີທີ່ແນະນຳແມ່ນການສົ່ງ API key ຂອງທ່ານໃນ header Authorization ໂດຍໃຊ້ແບບ Bearer scheme:

curl Example
curl -X GET "https://api.smartmoneyapi.com/v1/whales/btc" \
-H "Authorization: Bearer sk_live_1234567890abcdef" \
-H "Accept: application/json"

Query Parameter API Key

ສຳລັບການເຊື່ອມຕໍ່ WebSocket ຫຼືເມື່ອບໍ່ສາມາດແກ້ໄຂ headers, ສົ່ງ API key ເປັນ query parameter:

WebSocket Connection
ws://localhost:8877/ws?api_key=sk_live_1234567890abcdef
// Establishes authenticated WebSocket stream

API Key Characteristics

Property Description
Format 128-character hex string prefixed with sk_test_ or sk_live_
Scope Inherits all permissions of the account that created it
Expiration Never expires automatically; must be rotated manually
Rotation Generate new key, migrate traffic, then deactivate old key
Rate Limits Shared across all requests using the same key

API Key Security Practices

  • Environment Variables — Store keys in .env files (not committed to version control) and load at runtime
  • Vault Systems — ໃຊ້ HashiCorp Vault, AWS Secrets Manager, ຫຼື Azure Key Vault ໃນການຜະລິດ
  • ກະແຈແຍກຕ່າງຫາກ — ຮັກສາກະແຈທົດສອບແລະກະແຈຈິງແຍກຕ່າງຫາກ; ຫມູນວຽນກະແຈທົດສອບເລື້ອຍໆ
  • ຂອບເຂດຕໍາ່ສຸດ — ສ້າງກະແຈແຍກຕ່າງຫາກສໍາລັບການລວມຕ່າງໆເມື່ອເປັນໄປໄດ້
  • ການບັນທຶກກວດສອບ — ບັນທຶກທຸກເຫດການການສ້າງແລະການໃຊ້ງານ API key
Funding ແລະ open interest ສົດ — API ຟຣີ

Funding, open interest ແລະ ອັດຕາ long/short ຂອງ exchange ທີ່ພວກເຮົາຄຸມ ສົດໃນ screener ຂອງພວກເຮົາ.

ເບິ່ງ funding ສົດ →

ແບບແຜນ Bearer Token

Bearer tokens ຂະຫຍາຍແນວຄວາມຄິດຂອງ API key ງ່າຍໆໂດຍການເພີ່ມບໍລິບົດ, ການໝົດອາຍຸ, ແລະກົນໄກການເຮັດໃຫມ່. ມັນເຫມາະສົມສໍາລັບແອັບພລິເຄຊັນທີ່ຕ້ອງການການຈັດການຂໍ້ມູນປະຈໍາຕົວແບບໂປຣແກຣມ.

ການໄດ້ຮັບ Bearer Tokens

ແລກປ່ຽນ API key ແລະຄວາມລັບຂອງທ່ານເພື່ອເອົາ bearer token ທີ່ໃຊ້ໄດ້ 24 ຊົ່ວໂມງ:

GET /auth/token
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

ຈຸດສິ້ນສຸດສົ່ງຄືນ bearer token ພ້ອມຂໍ້ມູນ metadata:

ຕອບກັບ
{
"access_token": "eyJhbGciOiJIUzI1NiIs...",
"token_type": "Bearer",
"expires_in": 86400,
"refresh_token": "refresh_1234567..."
}

ການໃຊ້ Bearer Tokens

ລວມ token ໃນຫົວຂໍ້ Authorization ສໍາລັບທຸກຄໍາຮ້ອງຂໍຕໍ່ໄປ:

ຄໍາຮ້ອງຂໍທີ່ຢັ້ງຢືນ
curl -X GET "https://api.smartmoneyapi.com/v1/derivatives/funding-heatmap" \
-H "Authorization: Bearer eyJhbGciOiJIUzI1NiIs..."

ກະແສການເຮັດໃຫມ່ Token

ເມື່ອ token ເກືອບໝົດອາຍຸ, ໃຊ້ refresh token ເພື່ອເອົາໂຕໃຫມ່ໂດຍບໍ່ຕ້ອງໃຊ້ API secret ຂອງທ່ານ:

POST /auth/refresh
curl -X POST "https://api.smartmoneyapi.com/v1/auth/refresh" \
-H "Content-Type: application/json" \
-d '{
"refresh_token": "refresh_1234567..."
}'

ການປະຕິບັດ OAuth 2.0

OAuth 2.0 ເຮັດໃຫ້ຜູ້ໃຊ້ສາມາດອະນຸຍາດໃຫ້ແອັບພລິເຄຊັນເຂົ້າເຖິງບັນຊີ Smart Money API ຂອງພວກເຂົາໂດຍບໍ່ຕ້ອງແບ່ງປັນຂໍ້ມູນປະຈໍາຕົວ. ນີ້ເປັນສິ່ງຈໍາເປັນສໍາລັບເວທີ SaaS, ການລວມຕົວຂອງພາກສ່ວນທີສາມ, ແລະແອັບພລິເຄຊັນ multi-tenant.

ກະແສການອະນຸຍາດ OAuth 2.0 Authorization Code

ກະແສມາດຕະຖານສໍາລັບແອັບພລິເຄຊັນເວັບ:

  1. ຜູ້ໃຊ້ເລີ່ມຕົ້ນເຂົ້າສູ່ລະບົບ — ຜູ້ໃຊ້ກົດ "ເຊື່ອມຕໍ່ກັບ Smart Money API"
  2. ໂອນໄປຫາເຊີບເວີການອະນຸຍາດ — ແອັບຂອງທ່ານໂອນຜູ້ໃຊ້ໄປຫາຈຸດສິ້ນສຸດການອະນຸຍາດຂອງ Smart Money
  3. ຜູ້ໃຊ້ອະນຸຍາດ — ຜູ້ໃຊ້ກວດສອບຂອບເຂດທີ່ຮ້ອງຂໍແລະອະນຸຍາດການເຂົ້າເຖິງ
  4. ລະຫັດການອະນຸຍາດຖືກສົ່ງຄືນ — ຜູ້ໃຊ້ຖືກໂອນກັບຄືນພ້ອມລະຫັດການອະນຸຍາດ
  5. ແລກປ່ຽນລະຫັດເພື່ອເອົາ token — backend ແລກປ່ຽນລະຫັດເພື່ອເອົາ access token (ລະຫັດບໍ່ເຄີຍຖືກເປີດເຜີຍຕໍ່ frontend)
  6. ເກັບຮັກສາ token — ເກັບຮັກສາ refresh token ໄວ້ຢ່າງປອດໄພ; ໃຊ້ access token ເພື່ອການເອີ້ນໃຊ້ API

ຂັ້ນຕອນທີ 1: ໂອນຜູ້ໃຊ້ໄປຍັງຈຸດສິ້ນສຸດການອະນຸຍາດ

ການໂອນຜູ້ໃຊ້ທາງຫນ້າຈໍ
// URL ເພື່ອໂອນຜູ້ໃຊ້
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: ຈັດການການຕອບກັບແລະການແລກປ່ຽນລະຫັດ

ການແລກປ່ຽນລະຫັດທາງຫລັງຄານ
// ຫລັງຄານຈັດການເສັ້ນທາງ /callback
const code = req.query.code;
const storedState = req.session.state;
const receivedState = req.query.state;
// ກວດສອບພາຣາມິເຕີ state
if (storedState !== receivedState) {
throw new Error('State mismatch - CSRF attack detected');
}
// ແລກປ່ຽນລະຫັດເພື່ອເອົາ token
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();
// ເກັບຮັກສາ tokens ໄວ້ຢ່າງປອດໄພ

ຂອບເຂດ OAuth

ຮ້ອງຂໍພຽງແຕ່ຂອບເຂດທີ່ແອັບພລິເຄຊັນຂອງທ່ານຕ້ອງການ. Smart Money API ກໍານົດຂອບເຂດເຫຼົ່ານີ້:

ຂອບເຂດ ຄໍາອະທິບາຍ
whales ເຂົ້າເຖິງການຕິດຕາມກະເປົາເງິນ whale ແລະມາດຕະການການສະສົມ
derivatives ເຂົ້າເຖິງຂໍ້ມູນ futures, perpetuals, ແລະອັດຕາການສະຫນອງເງິນ
onchain ເຂົ້າເຖິງການໄຫຼຂອງທຸລະກໍາ on-chain ແລະການວິເຄາະ
alerts ສ້າງແລະຈັດການການແຈ້ງເຕືອນ webhook
offline ເຂົ້າເຖິງ refresh tokens ເພື່ອເອົາ access tokens ໃຫມ່ໂດຍບໍ່ຕ້ອງຕິດຕໍ່ API

ການຈັດການ JWT Token

JWT (JSON Web Tokens) ສະຫນອງການຢືນຢັນສະຖານະບໍ່ມີສະຖານະ - ເຊີບເວີບໍ່ຈໍາເປັນຕ້ອງເກັບຂໍ້ມູນ session. Smart Money API ໃຊ້ RS256 (RSA Signature ກັບ SHA-256) ເພື່ອລົງຊື່ token, ອະນຸຍາດໃຫ້ກວດສອບໂດຍບໍ່ຈໍາເປັນຕ້ອງຕິດຕໍ່ API.

ໂຄງສ້າງ JWT

JWT tokens ປະກອບດ້ວຍສາມສ່ວນທີ່ແຍກກັນດ້ວຍຈຸດ:

ຮູບແບບ JWT
eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6IjEifQ.
eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkFjY3QxMjM0In0.
SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c
// HEADER.PAYLOAD.SIGNATURE

ສ່ວນຫົວ JWT

ສ່ວນຫົວລະບຸ algorithm ແລະປະເພດ token:

ສ່ວນຫົວທີ່ຖອດລະຫັດແລ້ວ
{
"alg": "RS256",
"typ": "JWT",
"kid": "1"
}

ຂໍ້ກໍານົດຂອງ JWT Payload

payload ປະກອບດ້ວຍຂໍ້ກໍານົດ (ຄໍາຖະແຫຼງກ່ຽວກັບຜູ້ໃຊ້/ແອັບ):

payload ທີ່ຖອດລະຫັດແລ້ວ
{
"sub": "acct_1234567890",
"name": "Trading Bot",
"iat": 1703001600,
"exp": 1703088000,
"scopes": ["whales", "derivatives"],
"aud": "https://api.smartmoneyapi.com"
}

ການກວດສອບລະຫັດ JWT

ດາວໂຫລດ public key ຂອງ Smart Money ແລະກວດສອບ tokens ກ່ອນຮັບຮອງ:

ການກວດສອບໃນ Node.js
const jwt = require('jsonwebtoken');
const fs = require('fs');
// ເອົາ public key ຈາກ Smart Money API
const publicKey = fs.readFileSync('smartmoney-public.pem');
// ກວດສອບ token
try {
const decoded = jwt.verify(token, publicKey, {
algorithms: ['RS256'],
audience: 'https://api.smartmoneyapi.com',
issuer: 'https://api.smartmoneyapi.com'
});
// Token ຖືກຕ້ອງ, ໃຊ້ຂໍ້ກໍານົດທີ່ຖອດລະຫັດແລ້ວ
} catch (err) {
// Token ບໍ່ຖືກຕ້ອງຫຼືໝົດອາຍຸ
}

ຍຸດທະສາດການປ່ຽນກະແຈ

ການປ່ຽນກະແຈເປັນປະຈໍາແມ່ນສໍາຄັນສໍາລັບການຮັກສາຄວາມປອດໄພ. ເຖິງແມ່ນວ່າມີການປະຕິບັດດ້ານຄວາມປອດໄພທີ່ດີເລີດ, ໃຫ້ສົມມຸດວ່າກະແຈສາມາດຖືກລະເມີດແລະຈັດຕັ້ງລະບົບການປ່ຽນຢ່າງເປັນລະບົບ.

ຄວາມຖີ່ໃນການປ່ຽນກະແຈ

Smart Money ແນະນໍາຕາຕະລາງການປ່ຽນທີ່ແຕກຕ່າງກັນອີງຕາມປະເພດກະແຈແລະການນໍາໃຊ້:

ປະເພດກະແຈ ການປ່ຽນທີ່ແນະນໍາ ການປ່ຽນຕໍາ່ສຸດ
ກະແຈ API ທົດສອບ ລະດັບເດືອນ ລະດັບໄຕມາດ
ກະແຈ API ການຜະລິດ ລະດັບໄຕມາດ ລະດັບປີ
OAuth Refresh Tokens ອັດຕະໂນມັດ (ຫຼັງຈາກ 90 ວັນ) ດໍາເນີນການດ້ວຍມື (ຫຼັງຈາກ 180 ວັນ)
ກະແຈບັນຊີບໍລິການ ຄັ້ງຕໍ່ເຄິ່ງປີ ລະດັບປີ

ຂັ້ນຕອນການປ່ຽນກະແຈໂດຍບໍ່ມີການລົບກວນການໃຊ້ງານ

ປ່ຽນກະແຈໂດຍບໍ່ມີການລົບກວນການໃຊ້ງານ:

  1. ສ້າງກະແຈໃຫມ່ — ສ້າງ API key ໃຫມ່ຜ່ານ dashboard ຫຼື API
  2. ປະຕິບັດການໃຊ້ກະແຈໃຫມ່ — ອັບເດດຂໍ້ມູນລັບໃນສະຖານະ staging, ທົດສອບຢ່າງລະອຽດ
  3. ການນໍາໃຊ້ແບບຄ່ອຍໆ — ປະຕິບັດການໃສ່ 10% ຂອງເຊີບເວີ, ຕິດຕາມຂໍ້ຜິດພາດ
  4. ການປະຕິບັດທັງໝົດ — ຕິດຕັ້ງໃສ່ເຊີເວີທີ່ເຫຼືອ
  5. ກວດສອບການເຂົ້າຊົມ — ຢືນຢັນວ່າການຮ້ອງຂໍທັງໝົດໃຊ້ກະແຈໃໝ່
  6. ປິດການໃຊ້ງານກະແຈເກົ່າ — ໝາຍກະແຈເກົ່າເປັນບໍ່ໃຊ້ງານແຕ່ຢ່າລຶບທັນທີ
  7. ລຶບກະແຈເກົ່າ — ຫຼັງຈາກ 48 ຊົ່ວໂມງທີ່ບໍ່ມີຂໍ້ຜິດພາດ, ລຶບຖາວອນ

ການປ່ຽນກະແຈແບບສຸກເສີນ

ຖ້າທ່ານສົງໃສວ່າກະແຈຖືກເຈາະ:

ການປ່ຽນກະແຈແບບສຸກເສີນ
// ການດຳເນີນການທັນທີ: ປິດການໃຊ້ງານກະແຈທີ່ຖືກເຈາະ
curl -X POST "https://api.smartmoneyapi.com/v1/keys/sk_live_xxx/revoke" \
-H "Authorization: Bearer token"
// ສ້າງກະແຈທົດແທນທັນທີ
curl -X POST "https://api.smartmoneyapi.com/v1/keys" \
-H "Content-Type: application/json" \
-d '{
"name": "Emergency Replacement Key"
}'

ການປ່ຽນກະແຈແບບອັດຕະໂນມັດໃນ Kubernetes

ໃຊ້ Kubernetes Secrets ແລະ operators ເພື່ອການປ່ຽນກະແຈແບບອັດຕະໂນມັດ:

CronJob ສຳລັບການປ່ຽນກະແຈ
apiVersion: batch/v1
kind: CronJob
metadata:
name: api-key-rotator
spec:
schedule: "0 0 * * 0" # ທຸກໆອາທິດໃນວັນອາທິດ
jobTemplate:
spec:
template:
spec:
containers:
- name: rotator
image: smartmoney-key-rotator:latest

ການຢືນຢັນຕົວຕົນແບບຫຼາຍຂັ້ນຕອນ (MFA)

ສຳລັບບັນຊີທີ່ເຂົ້າເຖິງຂໍ້ມູນການຜະລິດ, MFA ຈະໃຫ້ຊັ້ນຄວາມປອດໄພເພີ່ມເຕີມໂດຍການຮ້ອງຂໍປັດໄຈທີສອງນອກເໜືອຈາກຂໍ້ມູນລະຫັດຜ່ານ.

ວິທີການ MFA ທີ່ຮອງຮັບ

  • TOTP (ລະຫັດຜ່ານຄັ້ງດຽວແບບເວລາ) — ແອັບຯເຊັ່ນ Google Authenticator, Authy
  • WebAuthn/FIDO2 — ກະແຈຄວາມປອດໄພຮາດແວ, ການຢືນຢັນຕົວຕົນທາງຊີວະມິຕິ
  • ລະຫັດຜ່ານຄັ້ງດຽວຜ່ານ SMS — ຄວາມປອດໄພຕ່ຳແຕ່ຮອງຮັບຢ່າງກວ້າງຂວາງ
  • ການຢືນຢັນຜ່ານອີເມວ — ລະຫັດຢືນຢັນສົ່ງໄປທີ່ອີເມວທີ່ລົງທະບຽນ

ການເປີດໃຊ້ TOTP ສຳລັບການເຂົ້າເຖິງບັນຊີ

ເປີດໃຊ້ MFA
// ຂັ້ນຕອນທີ 1: ຮ້ອງຂໍຕັ້ງຄ່າ MFA
curl -X POST "https://api.smartmoneyapi.com/v1/account/mfa/enable" \
-H "Authorization: Bearer token"
// ຄຳຕອບຈະປະກອບມີ URL QR code
{
"qr_code_url": "https://...",
"secret": "JBSWY3DPEBLW64TMMQ...",
"backup_codes": ["12345678", ...]
}

MFA ໃນລະຫວ່າງການດຳເນີນການ API

ບາງການດຳເນີນການອາດຈະຕ້ອງການການຢືນຢັນ MFA ເຖິງແມ່ນວ່າຈະຜ່ານການຢືນຢັນຕົວຕົນແລ້ວ:

ການທ້າທາຍ MFA
// ກຳລັງພະຍາຍາມດຳເນີນການທີ່ລະອຽດອ່ອນ (ການປ່ຽນກະແຈ)
curl -X POST "https://api.smartmoneyapi.com/v1/keys/rotate" \
-H "Authorization: Bearer token" \
-H "X-MFA-Token: mfa_challenge_abc123"
// ຄຳຕອບ: ຕ້ອງການ MFA
{
"error": "mfa_required",
"mfa_token": "mfa_xyz789"
}
// ລອງໃໝ່ດ້ວຍລະຫັດ TOTP
curl -X POST "https://api.smartmoneyapi.com/v1/keys/rotate" \
-H "Authorization: Bearer token" \
-H "X-MFA-Code: 123456"

ວິທີປະຕິບັດດ້ານຄວາມປອດໄພທີ່ດີທີ່ສຸດ

ການຢືນຢັນຕົວຕົນຈະເຂັ້ມແຂງໄດ້ກໍ່ຕໍ່ເມື່ອມີການປະຕິບັດທີ່ດີ. ປະຕິບັດຕາມວິທີການເຫຼົ່ານີ້ເພື່ອຮັກສາຄວາມປອດໄພ:

ການຈັດການຂໍ້ມູນລັບ

  • ຫ້າມບັນທຶກຂໍ້ມູນລັບໃສ່ລະບົບຄວບຄຸມຮຸ້ນ — ໃຊ້ໄຟລ໌ .env ພ້ອມ .gitignore
  • ໃຊ້ຕົວປ່ຽນສະພາບແວດລ້ອມ — ໂຫຼດຈາກລະບົບຈັດການຂໍ້ມູນລັບທີ່ປອດໄພ
  • ສະແກນສາງຂໍ້ມູນ — ໃຊ້ເຄື່ອງມືເຊັ່ນ TruffleHog, detect-secrets ເພື່ອຊອກຫາກະແຈທີ່ຖືກເປີດເຜີຍ
  • ກວດສອບບັນທຶກການເຂົ້າເຖິງ — ຕິດຕາມວ່າໃຜເຂົ້າເຖິງຂໍ້ມູນລັບແລະເວລາໃດ

ຄວາມປອດໄພໃນການສົ່ງຂໍ້ມູນ

  • ໃຊ້ HTTPS ສະເໝີ — ຫ້າມສົ່ງຂໍ້ມູນລະຫັດຜ່ານທາງເຊື່ອມຕໍ່ທີ່ບໍ່ໄດ້ເຂົ້າລະຫັດ
  • ກວດສອບໃບຢັ້ງຢືນ SSL — ຫ້າມປິດການກວດສອບໃບຢັ້ງຢືນໃນການຜະລິດ
  • ໃຊ້ການປັກຫມຸດໃບຢັ້ງຢືນ — ສຳລັບແອັບຯມືຖື, ປ້ອງກັນການໂຈມຕີ MITM
  • ບັງຄັບໃຊ້ TLS 1.2+ — ປິດການໃຊ້ງານໂປຣໂຕຄໍເກົ່າ

ການຈັດການຂໍ້ມູນລະຫັດຜ່ານ

  • ເຂົ້າລະຫັດຂໍ້ມູນລັບ — ເກັບຮັກສາ bcrypt ຫຼື Argon2 hashes, ຫ້າມເກັບຂໍ້ຄວາມທຳມະດາ
  • ຫຼຸດອາຍຸການໃຊ້ງານ — ເກັບຂໍ້ມູນລະຫັດຜ່ານໄວ້ໃນຄວາມຈຳເທົ່ານັ້ນທີ່ຈຳເປັນ
  • ລົບຂໍ້ມູນທີ່ລະອຽດອ່ອນ — ຂຽນທັບຂໍ້ມູນລະຫັດຜ່ານຫຼັງຈາກໃຊ້ງານ
  • ໃຊ້ຄອບຄົວປອດໄພ — ຫ້າມສ້າງລະບົບການເຂົ້າລະຫັດດ້ວຍຕົວເອງ

ການບັນທຶກແລະການຕິດຕາມ

  • ຫ້າມບັນທຶກຂໍ້ມູນລະຫັດຜ່ານ — ເຊື່ອງກະແຈໃນບັນທຶກ, ໃຊ້ການປົກບັນທຶກ
  • ບັນທຶກເຫດການການຢືນຢັນຕົວຕົນ — ຕິດຕາມການພະຍາຍາມເຂົ້າສູ່ລະບົບທີ່ສຳເລັດແລະລົ້ມເຫຼວ
  • ຕິດຕາມການກະທຳຜິດປົກກະຕິ — ແຈ້ງເຕືອນເມື່ອມີຮູບແບບການເຂົ້າເຖິງທີ່ຜິດປົກກະຕິ
  • ກວດສອບການໃຊ້ງານກະແຈ — ຕິດຕາມວ່າກະແຈໃດເຂົ້າເຖິງຂໍ້ມູນໃດ

ຮູບແບບການຢືນຢັນຕົວຕົນສຳລັບອົງກອນ

ອົງກອນໃຫຍ່ມັກຕ້ອງການການຄວບຄຸມຄວາມປອດໄພເພີ່ມເຕີມແລະຄວາມສາມາດໃນການປະຕິບັດຕາມກົດໝາຍ.

ການລວມລະບົບ SAML 2.0

ສຳລັບລູກຄ້າອົງກອນ, Smart Money API ຮອງຮັບການລວມລະບົບ SAML 2.0 ກັບຜູ້ໃຫ້ບໍລິການຢືນຢັນຕົວຕົນຂອງອົງກອນຂອງທ່ານ (Okta, Azure AD, ແລະອື່ນໆ):

  • ການເຂົ້າສູ່ລະບົບດ້ວຍລະຫັດດຽວ (SSO) — ຜູ້ໃຊ້ຢືນຢັນຕົວຕົນຜ່ານ IdP ຂອງບໍລິສັດຂອງທ່ານ
  • ການຈັດຕັ້ງຄ່າແບບອັດຕະໂນມັດ — ສ້າງ/ປິດການໃຊ້ງານບັນຊີຕາມກຸ່ມສະມາຊິກ
  • ການບັງຄັບໃຊ້ — ຮຽກຮ້ອງໃຫ້ໃຊ້ SAML ສຳລັບການເຂົ້າເຖິງຂອງຜູ້ໃຊ້ທັງໝົດ

ການຈຳກັດ IP ທີ່ອະນຸຍາດ

ຈຳກັດການເຂົ້າເຖິງ API ໃຫ້ກັບທີ່ຢູ່ IP ຫຼືຊ່ວງ CIDR ສະເພາະ

ການຈັດການ IP Whitelist
// ເພີ່ມ IP ເຂົ້າ whitelist
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 Log ແລະການປະຕິບັດຕາມ

ແຜນ Enterprise ປະກອບດ້ວຍ audit logs ທີ່ຄົບຖ້ວນສຳລັບການປະຕິບັດຕາມ:

ເຫດການ ຂໍ້ມູນທີ່ບັນທຶກ
ການຢືນຢັນຕົວຕົນ ຜູ້ໃຊ້, ເວລາ, ຜົນສຳເລັດ/ລົ້ມເຫຼວ, IP, ສະຖານະ MFA
ການດຳເນີນການກັບຄີ ລະຫັດຄີ, ການດຳເນີນການ, ຜູ້ເລີ່ມຕົ້ນ, ເວລາ
ການປ່ຽນແປງບັນຊີ ສິ່ງທີ່ປ່ຽນແປງ, ຜູ້ປ່ຽນແປງ, ເວລາ, ຄ່າກ່ອນ/ຫຼັງ
ການເຂົ້າເຖິງຂໍ້ມູນ ຜູ້ໃຊ້, endpoint, scopes, ເວລາ, ຈຳນວນບັນທຶກ

ການແກ້ໄຂບັນຫາການຢືນຢັນຕົວຕົນ

ຂໍ້ຜິດພາດ API Key ບໍ່ຖືກຕ້ອງ

ບັນຫາ: ໄດ້ຮັບ "401 Unauthorized - Invalid API Key"

ວິທີແກ້ໄຂ:

  • ກວດເບິ່ງຮູບແບບຄີ (ຄວນເລີ່ມຕົ້ນດ້ວຍ sk_test_ ຫຼື sk_live_)
  • ກວດເບິ່ງຊ່ອງຫວ່າງທ້າຍ/ເລີ່ມຕົ້ນໃນຄີ
  • ຢືນຢັນວ່າຄີບໍ່ໄດ້ຖືກປິດໃຊ້ຫຼືປ່ຽນ
  • ຢືນຢັນວ່າທ່ານກຳລັງໃຊ້ສະພາບແວດລ້ອມທີ່ຖືກຕ້ອງ (ຄີທົດລອງສຳລັບທົດລອງ, ຄີຈິງສຳລັບການຜະລິດ)
  • ກວດເບິ່ງສິດອະນຸຍາດຂອງ API key ວ່າຕົງກັບຄວາມຕ້ອງການຂອງ endpoint

ຂໍ້ຜິດພາດ Token ໝົດອາຍຸ

ບັນຫາ: Bearer token ໝົດອາຍຸ, ຄຳຮ້ອງຂໍລົ້ມເຫຼວ

ວິທີແກ້ໄຂ:

  • ໃຊ້ refresh token ເພີ່ມເຕີມເພື່ອໄດ້ຮັບ access token ໃໝ່
  • ຈັດການການເຮັດໃຫ້ token ໃໝ່ອັດຕະໂນມັດ 5 ນາທີກ່ອນໝົດອາຍຸ
  • ເກັບຮັກສາ refresh token ຢ່າງປອດໄພ (ບໍ່ໃຊ້ localStorage ສຳລັບ SPAs)
  • ຈັດການການຕອບສະໜອງ 401 ໂດຍພະຍາຍາມໃຊ້ຂັ້ນຕອນ refresh token

ຂໍ້ຜິດພາດ CORS/Preflight

ບັນຫາ: ບຣາວເຊີປິດການຄຳຮ້ອງຂໍດ້ວຍຂໍ້ຜິດພາດ CORS

ວິທີແກ້ໄຂ:

  • ການເອີ້ນໃຊ້ API ຈາກບຣາວເຊີຕ້ອງມາຈາກຕົ້ນກຳເນີດທີ່ຢູ່ໃນ whitelist
  • ເພີ່ມໂດເມນຂອງທ່ານຜ່ານ dashboard: Settings → CORS Origins
  • ບຣາວເຊີສົ່ງຄຳຮ້ອງຂໍ OPTIONS preflight ອັດຕະໂນມັດ
  • ສຳລັບການພັດທະນາ, ໃຊ້ localhost:3000 ຫຼືຄ້າຍຄືກັນ

ການທົດສອບ MFA ບໍ່ສຳເລັດ

ບັນຫາ: ການດຳເນີນການທີ່ຕ້ອງການ MFA ລົ້ມເຫຼວເຖິງແມ່ນວ່າມີລະຫັດຖືກຕ້ອງ

ວິທີແກ້ໄຂ:

  • ຢືນຢັນວ່າໂມງເຊີບເວີຖືກປັບເວລາ (TOTP ເພິ່ງເວລາ)
  • ລະຫັດມີຄວາມຖືກຕ້ອງພຽງ 30 ວິນາທີ, ສ້າງລະຫັດໃໝ່
  • ໃຊ້ລະຫັດສຳຮອງຖ້າແອັບປະກອບບໍ່ມີ
  • ການກູ້ຄືນບັນຊີມີຜ່ານອີເມວທີ່ລົງທະບຽນ

ຈັດການການຢືນຢັນຕົວຕົນທີ່ປອດໄພໃນມື້ນີ້

Smart Money API ສະຫນັບສະຫນູນການຢືນຢັນຕົວຕົນລະດັບວິສາຫະກິດດ້ວຍ OAuth 2.0, JWT, MFA, ແລະການປະສົມກັບ SAML. ປົກປັກຮັກສາການປະສົມກັບ API ຂອງທ່ານດ້ວຍວິທີປະຕິບັດທີ່ດີທີ່ສຸດໃນອຸດສາຫະກຳ.

ເບິ່ງແຜນ Enterprise
ຕ້ອງການ SAML, IP whitelisting, ຫຼືການສະຫນັບສະຫນູນສະເພາະ? ຕິດຕໍ່ທີມຂາຍຂອງພວກເຮົາ.

ຊັບພະຍາກອນທີ່ກ່ຽວຂ້ອງ

ເລີ່ມຟຣີ — 200 ການເອີ້ນຕໍ່ມື້ ບໍ່ຕ້ອງໃຊ້ບັດ

ຮັບ whale flow, funding, open interest ແລະ ຂໍ້ມູນ on-chain ສົດຈາກ API ດຽວ. ຊັ້ນຟຣີ ບໍ່ຕ້ອງໃຊ້ບັດ ອັບເກຣດໄດ້ທຸກເວລາ.

ເລີ່ມຟຣີ →
ລອງໃຊ້ API console ສົດ → (ບໍ່ຕ້ອງມີບັນຊີ)