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
ເອົາ API key ຂອງທ່ານໃນ 30 ວິນາທີ

ພ້ອມທີ່ຈະສ້າງແລ້ວບໍ? ເອົາ API key ຟຣີ (50 ຄວາມພະຍາຍາມ/ມື້, ບໍ່ຕ້ອງໃຊ້ບັດ) ແລະເລີ່ມດຶງຂໍ້ມູນ whale, funding ແລະ on-chain ຕົວຈິງ.

ເອົາ API key ຂອງທ່ານ →

ແບບແຜນ 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, ຫຼືການສະຫນັບສະຫນູນສະເພາະ? ຕິດຕໍ່ທີມຂາຍຂອງພວກເຮົາ.

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

ເລີ່ມຟຣີ — 50 ຄຳຮ້ອງຂໍ/ມື້, ບໍ່ຕ້ອງໃຊ້ບັດ

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

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