API ডকুমেন্টেশন
উন্নত প্রমাণীকরণ প্যাটার্ন — OAuth 2.0, JWT, কী রোটেশন
এন্টারপ্রাইজ পরিবেশে Smart Money API সংহত করার জন্য উন্নত প্রমাণীকরণ মেকানিজম আয়ত্ত করুন। OAuth 2.0 ফ্লো, JWT টোকেন প্যাটার্ন, নিরাপদ কী রোটেশন এবং মাল্টি-ফ্যাক্টর প্রমাণীকরণ বাস্তবায়ন শিখুন।
প্রকাশিত মার্চ 21, 2026
•
18 মিনিট পড়া
•
উন্নত
প্রমাণীকরণ সংক্ষিপ্ত বিবরণ
Smart Money API বিভিন্ন প্রমাণীকরণ পদ্ধতি সমর্থন করে যা বিভিন্ন অ্যাপ্লিকেশন আর্কিটেকচার, সুরক্ষা প্রয়োজনীয়তা এবং সংগঠনীয় নীতিগুলি মিটমাট করার জন্য ডিজাইন করা হয়েছে। এই প্যাটার্নগুলি বোঝা নিশ্চিত করে যে আপনার সংহতকরণ নিরাপদ এবং কার্যকর।
Smart Money API-তে প্রমাণীকরণ তিনটি প্রাথমিক স্তরে কাজ করে:
- API কী — উন্নয়ন এবং সরল সংহতকরণের জন্য সহজ বেয়ার টোকেন প্রমাণীকরণ
- JWT টোকেন — বিতরণ সিস্টেম এবং মাইক্রোসার্ভিসের জন্য স্টেটলেস, ক্রিপ্টোগ্রাফিকভাবে স্বাক্ষরিত টোকেন
- OAuth 2.0 — তৃতীয় পক্ষের সংহতকরণ এবং SaaS অ্যাপ্লিকেশনের জন্য ডেলিগেটেড অথোরাইজেশন ফ্রেমওয়ার্ক
সুরক্ষা নীতি: ক্লায়েন্ট-সাইড কোড, লগ, ভার্সন কন্ট্রোল বা ত্রুটি বার্তায় প্রমাণীকরণ ক্রেডেনশিয়াল প্রকাশ করবেন না। সময়সূচী অনুযায়ী এবং আপোসের সাথে সাথে ক্রেডেনশিয়াল রোটেশন বাস্তবায়ন করুন।
প্রতিটি পদ্ধতির স্বতন্ত্র সুবিধা রয়েছে। API কীগুলি ব্যাকএন্ড-টু-ব্যাকএন্ড যোগাযোগের জন্য সবচেয়ে ভাল কাজ করে যেখানে ক্রেডেনশিয়াল স্টোরেজ নিয়ন্ত্রিত হয়। JWT টোকেনগুলি বিতরণ আর্কিটেকচারে উৎকৃষ্ট যেখানে কোনও শেয়ার্ড স্টেট উপলব্ধ নেই। OAuth 2.0 তৃতীয় পক্ষের অ্যাপ্লিকেশনের জন্য ব্যবহারকারী-ডেলিগেটেড অ্যাক্সেস প্রদান করে।
API কী প্রমাণীকরণ
API কীগুলি হল সবচেয়ে সহজ প্রমাণীকরণ মেকানিজম — এগুলি আপনার অ্যাকাউন্টের জন্য তৈরি করা এলোমেলো স্ট্রিং যা আপনার অ্যাপ্লিকেশনকে Smart Money API-তে চিহ্নিত করে। প্রতিটি অনুরোধে আপনার API কী একটি হেডার বা ক্যোয়ারি প্যারামিটার হিসাবে অন্তর্ভুক্ত করতে হবে।
হেডার-ভিত্তিক API কী
প্রস্তাবিত পদ্ধতি হল আপনার API কী Authorization হেডারে Bearer স্কিম ব্যবহার করে পাস করা:
curl -X GET "https://api.smartmoneyapi.com/v1/whales/btc" \
-H "Authorization: Bearer sk_live_1234567890abcdef" \
-H "Accept: application/json"
ক্যোয়ারি প্যারামিটার API কী
WebSocket সংযোগের জন্য বা যখন হেডার পরিবর্তন করা যায় না, তখন API কীটি ক্যোয়ারি প্যারামিটার হিসাবে পাস করুন:
ws://localhost:8877/ws?api_key=sk_live_1234567890abcdef
// প্রমাণীকৃত WebSocket স্ট্রিম স্থাপন করে
API কী বৈশিষ্ট্য
| বৈশিষ্ট্য |
বর্ণনা |
| ফরম্যাট |
128-অক্ষরের হেক্স স্ট্রিং যা sk_test_ বা sk_live_ দিয়ে শুরু হয় |
| স্কোপ |
এটি যে অ্যাকাউন্ট তৈরি করেছে তার সমস্ত অনুমতি উত্তরাধিকার সূত্রে পায় |
| মেয়াদ শেষ |
স্বয়ংক্রিয়ভাবে মেয়াদ শেষ হয় না; ম্যানুয়ালি রোটেট করতে হবে |
| রোটেশন |
নতুন কী তৈরি করুন, ট্রাফিক স্থানান্তর করুন, তারপর পুরানো কী নিষ্ক্রিয় করুন |
| রেট লিমিট |
একই কী ব্যবহার করে সমস্ত অনুরোধ জুড়ে শেয়ার করা হয় |
API কী সুরক্ষা অনুশীলন
- পরিবেশ ভেরিয়েবল — কীগুলি .env ফাইলে সংরক্ষণ করুন (ভার্সন কন্ট্রোলে কমিট করা হয় না) এবং রানটাইমে লোড করুন
- ভল্ট সিস্টেম — প্রোডাকশনে HashiCorp Vault, AWS Secrets Manager বা Azure Key Vault ব্যবহার করুন
- পৃথক কী — পৃথক টেস্ট এবং লাইভ কী বজায় রাখুন; টেস্ট কীগুলি ঘন ঘন রোটেট করুন
- ন্যূনতম স্কোপ — সম্ভব হলে বিভিন্ন সংহতকরণের জন্য পৃথক কী তৈরি করুন
- অডিট লগিং — সমস্ত API কী তৈরি এবং ব্যবহারের ইভেন্ট লগ করুন
30 সেকেন্ডে আপনার API কী পান
তৈরি করতে প্রস্তুত? একটি বিনামূল্যে API কী নিন (100 কল/দিন, কোন কার্ড নেই) এবং লাইভ হোয়েল, ফান্ডিং এবং অন-চেইন ডেটা টানতে শুরু করুন।
আপনার API কী পান →
বেয়ার টোকেন প্যাটার্ন
বেয়ার টোকেনগুলি সহজ API কী ধারণাকে প্রসারিত করে প্রসঙ্গ, মেয়াদ শেষ এবং রিফ্রেশ মেকানিজম যোগ করে। এগুলি এমন অ্যাপ্লিকেশনের জন্য আদর্শ যেগুলির প্রোগ্রাম্যাটিক ক্রেডেনশিয়াল ব্যবস্থাপনা প্রয়োজন।
বেয়ার টোকেন পাওয়া
আপনার API কী এবং সিক্রেট একটি 24 ঘন্টা বৈধ বেয়ার টোকেনের জন্য বিনিময় করুন:
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"
}'
টোকেন রেসপন্স ফরম্যাট
এন্ডপয়েন্ট একটি বেয়ার টোকেন মেটাডেটা সহ ফেরত দেয়:
{
"access_token": "eyJhbGciOiJIUzI1NiIs...",
"token_type": "Bearer",
"expires_in": 86400,
"refresh_token": "refresh_1234567..."
}
বেয়ার টোকেন ব্যবহার
সমস্ত পরবর্তী অনুরোধের জন্য টোকেনটি Authorization হেডারে অন্তর্ভুক্ত করুন:
curl -X GET "https://api.smartmoneyapi.com/v1/derivatives/funding-heatmap" \
-H "Authorization: Bearer eyJhbGciOiJIUzI1NiIs..."
টোকেন রিফ্রেশ ফ্লো
যখন একটি টোকেন মেয়াদ শেষের কাছাকাছি আসে, তখন আপনার API সিক্রেট প্রয়োজন ছাড়াই রিফ্রেশ টোকেন ব্যবহার করে একটি নতুন টোকেন পান:
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 প্ল্যাটফর্ম, তৃতীয় পক্ষের সংহতকরণ এবং মাল্টি-টেন্যান্ট অ্যাপ্লিকেশনের জন্য অপরিহার্য।
OAuth 2.0 অথোরাইজেশন কোড ফ্লো
ওয়েব অ্যাপ্লিকেশনের জন্য স্ট্যান্ডার্ড ফ্লো:
- ব্যবহারকারী লগইন শুরু করে — ব্যবহারকারী "Connect with Smart Money API" ক্লিক করে
- অথোরাইজেশন সার্ভারে রিডাইরেক্ট — আপনার অ্যাপ ব্যবহারকারীকে Smart Money-এর অথোরাইজেশন এন্ডপয়েন্টে রিডাইরেক্ট করে
- ব্যবহারকারী অনুমতি প্রদান করে — ব্যবহারকারী অনুরোধ করা স্কোপগুলি পর্যালোচনা করে এবং অ্যাক্সেস প্রদান করে
- অথোরাইজেশন কোড ফেরত দেওয়া হয় — ব্যবহারকারী অথোরাইজেশন কোড সহ ফিরে রিডাইরেক্ট করা হয়
- টোকেনের জন্য কোড বিনিময় — ব্যাকএন্ড কোডটি অ্যাক্সেস টোকেনের জন্য বিনিময় করে (কোড ফ্রন্টএন্ডে প্রকাশ করা হয় না)
- টোকেন সংরক্ষণ করুন — রিফ্রেশ টোকেন নিরাপদে সংরক্ষণ করুন; 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;
// স্টেট প্যারামিটার যাচাই করুন
if (storedState !== receivedState) {
throw new Error('State mismatch - CSRF attack detected');
}
// টোকেনের জন্য কোড এক্সচেঞ্জ করুন
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();
// টোকেনগুলি নিরাপদে সংরক্ষণ করুন
OAuth স্কোপস
আপনার অ্যাপ্লিকেশনের প্রয়োজনীয় স্কোপগুলি অনুরোধ করুন। Smart Money API এই স্কোপগুলি সংজ্ঞায়িত করে:
| স্কোপ |
বিবরণ |
| whales |
হোয়েল ওয়ালেট ট্র্যাকিং এবং অ্যাকিউমুলেশন মেট্রিক্স অ্যাক্সেস করুন |
| derivatives |
ফিউচার্স, পারপেচুয়ালস এবং ফান্ডিং রেট ডেটা অ্যাক্সেস করুন |
| onchain |
অন-চেইন ট্রানজেকশন ফ্লো এবং অ্যানালিটিক্স অ্যাক্সেস করুন |
| alerts |
ওয়েবহুক অ্যালার্ট তৈরি এবং পরিচালনা করুন |
| offline |
অফলাইনে নতুন অ্যাক্সেস টোকেন পেতে রিফ্রেশ টোকেন অ্যাক্সেস করুন |
JWT টোকেন ম্যানেজমেন্ট
JWT (JSON Web Tokens) স্টেটলেস অথেনটিকেশন প্রদান করে—সার্ভারকে সেশন ডেটা সংরক্ষণ করতে হয় না। Smart Money API টোকেন সাইনিংয়ের জন্য RS256 (RSA Signature with SHA-256) ব্যবহার করে, API-এর সাথে যোগাযোগ ছাড়াই যাচাইকরণের অনুমতি দেয়।
JWT স্ট্রাকচার
JWT টোকেনগুলি ডট দ্বারা পৃথক করা তিনটি অংশ নিয়ে গঠিত:
eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6IjEifQ.
eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkFjY3QxMjM0In0.
SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c
// HEADER.PAYLOAD.SIGNATURE
JWT হেডার
হেডার অ্যালগরিদম এবং টোকেন টাইপ চিহ্নিত করে:
{
"alg": "RS256",
"typ": "JWT",
"kid": "1"
}
JWT পেলোড ক্লেইমস
পেলোডে ক্লেইমস (ব্যবহারকারী/অ্যাপ সম্পর্কে বিবৃতি) থাকে:
{
"sub": "acct_1234567890",
"name": "Trading Bot",
"iat": 1703001600,
"exp": 1703088000,
"scopes": ["whales", "derivatives"],
"aud": "https://api.smartmoneyapi.com"
}
JWT সিগনেচার যাচাই করা
Smart Money-এর পাবলিক কী ডাউনলোড করুন এবং টোকেনগুলি গ্রহণ করার আগে যাচাই করুন:
const jwt = require('jsonwebtoken');
const fs = require('fs');
// Smart Money API থেকে পাবলিক কী পান
const publicKey = fs.readFileSync('smartmoney-public.pem');
// টোকেন যাচাই করুন
try {
const decoded = jwt.verify(token, publicKey, {
algorithms: ['RS256'],
audience: 'https://api.smartmoneyapi.com',
issuer: 'https://api.smartmoneyapi.com'
});
// টোকেন বৈধ, ডিকোডেড ক্লেইমস ব্যবহার করুন
} catch (err) {
// টোকেন অবৈধ বা মেয়াদোত্তীর্ণ
}
কী রোটেশন স্ট্র্যাটেজি
নিয়মিত কী রোটেশন নিরাপত্তা বজায় রাখার জন্য গুরুত্বপূর্ণ। নিখুঁত নিরাপত্তা অনুশীলন থাকলেও, কীগুলি কম্প্রোমাইজড হতে পারে বলে ধরে নিন এবং পদ্ধতিগত রোটেশন প্রয়োগ করুন।
রোটেশন ফ্রিকোয়েন্সি
Smart Money কী টাইপ এবং ব্যবহারের উপর ভিত্তি করে বিভিন্ন রোটেশন সময়সূচী সুপারিশ করে:
| কী টাইপ |
সুপারিশকৃত রোটেশন |
ন্যূনতম রোটেশন |
| টেস্ট API কী |
মাসিক |
ত্রৈমাসিক |
| প্রোডাকশন API কী |
ত্রৈমাসিক |
বার্ষিক |
| OAuth রিফ্রেশ টোকেন |
স্বয়ংক্রিয় (90 দিন পর) |
ম্যানুয়াল (180 দিন পর) |
| সার্ভিস অ্যাকাউন্ট কী |
অর্ধ-বার্ষিক |
বার্ষিক |
জিরো-ডাউনটাইম রোটেশন প্রসেস
সার্ভিস বাধাগ্রস্ত না করে কীগুলি রোটেট করুন:
- নতুন কী তৈরি করুন — ড্যাশবোর্ড বা API এর মাধ্যমে নতুন API কী তৈরি করুন
- নতুন কী ডিপ্লয় করুন — স্টেজিংয়ে অ্যাপ্লিকেশন সিক্রেট আপডেট করুন, পুঙ্খানুপুঙ্খভাবে পরীক্ষা করুন
- ধীরে ধীরে রোলআউট করুন — সার্ভারের 10% এ ডিপ্লয় করুন, ত্রুটির জন্য মনিটর করুন
- সম্পূর্ণ রোলআউট — অবশিষ্ট সার্ভারগুলিতে ডিপ্লয় করুন
- ট্রাফিক যাচাই করুন — নিশ্চিত করুন যে সমস্ত অনুরোধ নতুন কী ব্যবহার করছে
- পুরানো কী নিষ্ক্রিয় করুন — পুরানো কীকে নিষ্ক্রিয় হিসাবে চিহ্নিত করুন কিন্তু তাৎক্ষণিকভাবে মুছে ফেলবেন না
- পুরানো কী মুছে ফেলুন — 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": "জরুরি প্রতিস্থাপন কী"
}'
কুবেরনেটসে স্বয়ংক্রিয় রোটেশন
স্বয়ংক্রিয় রোটেশনের জন্য কুবেরনেটস সিক্রেটস এবং অপারেটর ব্যবহার করুন:
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 সক্ষম করুন
// ধাপ 1: MFA সেটআপ অনুরোধ করুন
curl -X POST "https://api.smartmoneyapi.com/v1/account/mfa/enable" \
-H "Authorization: Bearer token"
// প্রতিক্রিয়ায় QR কোড URL অন্তর্ভুক্ত
{
"qr_code_url": "https://...",
"secret": "JBSWY3DPEBLW64TMMQ...",
"backup_codes": ["12345678", ...]
}
API অপারেশনের সময় MFA
কিছু অপারেশনের জন্য অথেন্টিকেশনের পরেও MFA কনফার্মেশন প্রয়োজন হতে পারে:
// সংবেদনশীল অপারেশন চেষ্টা করা হচ্ছে (কি ঘূর্ণন)
curl -X POST "https://api.smartmoneyapi.com/v1/keys/rotate" \
-H "Authorization: Bearer token" \
-H "X-MFA-Token: mfa_challenge_abc123"
// প্রতিক্রিয়া: এমএফএ প্রয়োজন
{
"error": "mfa_required",
"mfa_token": "mfa_xyz789"
}
// টিওটিপি কোড দিয়ে পুনরায় চেষ্টা করুন
curl -X POST "https://api.smartmoneyapi.com/v1/keys/rotate" \
-H "Authorization: Bearer token" \
-H "X-MFA-Code: 123456"
সুরক্ষা সেরা অনুশীলন
প্রমাণীকরণ শুধুমাত্র তার বাস্তবায়নের মতো শক্তিশালী। সুরক্ষা বজায় রাখতে নিম্নলিখিত অনুশীলনগুলি অনুসরণ করুন:
গোপন ব্যবস্থাপনা
- কখনো গোপনীয়তা ভার্সন কন্ট্রোলে কমিট করবেন না — .gitignore সহ .env ফাইল ব্যবহার করুন
- এনভায়রনমেন্ট ভেরিয়েবল ব্যবহার করুন — নিরাপদ গোপন ব্যবস্থাপনা সিস্টেম থেকে লোড করুন
- রিপোজিটরি স্ক্যান করুন — এক্সপোজড কী খুঁজে পেতে TruffleHog, detect-secrets এর মতো টুল ব্যবহার করুন
- অ্যাক্সেস লগ অডিট করুন — কে কখন গোপনীয়তা অ্যাক্সেস করেছে তা মনিটর করুন
ট্রান্সপোর্ট সুরক্ষা
- সর্বদা HTTPS ব্যবহার করুন — কখনো এনক্রিপ্ট করা সংযোগ ছাড়া ক্রেডেনশিয়াল পাঠাবেন না
- এসএসএল সার্টিফিকেট যাচাই করুন — প্রোডাকশনে সার্টিফিকেট ভ্যালিডেশন ডিসেবল করবেন না
- সার্টিফিকেট পিনিং ব্যবহার করুন — মোবাইল অ্যাপের জন্য, MITM আক্রমণ প্রতিরোধ করুন
- TLS 1.2+ প্রয়োগ করুন — পুরানো প্রোটোকলগুলি নিষ্ক্রিয় করুন
ক্রেডেনশিয়াল হ্যান্ডলিং
- সিক্রেট হ্যাশ করুন — bcrypt বা Argon2 হ্যাশ সংরক্ষণ করুন, কখনই প্লেইনটেক্সট নয়
- লাইফটাইম কমানো — প্রয়োজনীয় সময়ের জন্য মেমরিতে ক্রেডেনশিয়াল রাখুন
- সংবেদনশীল ডেটা সাফ করুন — ব্যবহারের পর স্পষ্টভাবে ক্রেডেনশিয়াল ওভাররাইট করুন
- সুরক্ষিত লাইব্রেরি ব্যবহার করুন — ক্রিপ্টোগ্রাফি নিজে বাস্তবায়ন করবেন না
লগিং এবং মনিটরিং
- ক্রেডেনশিয়াল কখনই লগ করবেন না — লগে কীগুলি রিডাক্ট করুন, লগ মাস্কিং ব্যবহার করুন
- অথেন্টিকেশন ইভেন্ট লগ করুন — সফল এবং ব্যর্থ লগিন প্রচেষ্টা ট্র্যাক করুন
- অস্বাভাবিকতা জন্য মনিটর করুন — অস্বাভাবিক অ্যাক্সেস প্যাটার্নে সতর্ক করুন
- কী ব্যবহার অডিট করুন — কোন কীগুলি কোন ডেটা অ্যাক্সেস করেছে তা ট্র্যাক করুন
এন্টারপ্রাইজ অথেন্টিকেশন প্যাটার্ন
বড় সংস্থাগুলির প্রায়শই অতিরিক্ত সুরক্ষা নিয়ন্ত্রণ এবং কমপ্লায়েন্স ক্ষমতা প্রয়োজন।
SAML 2.0 ইন্টিগ্রেশন
এন্টারপ্রাইজ গ্রাহকদের জন্য, Smart Money API আপনার সংস্থার আইডেন্টিটি প্রোভাইডার (Okta, Azure AD, ইত্যাদি) এর সাথে SAML 2.0 ইন্টিগ্রেশন সমর্থন করে:
- সিঙ্গেল সাইন-অন (SSO) — ব্যবহারকারীরা আপনার কর্পোরেট IdP এর মাধ্যমে অথেন্টিকেট করে
- স্বয়ংক্রিয় প্রোভিশনিং — গ্রুপ সদস্যতার ভিত্তিতে অ্যাকাউন্ট তৈরি/নিষ্ক্রিয় করুন
- প্রয়োগ — সমস্ত ব্যবহারকারী অ্যাক্সেসের জন্য SAML প্রয়োজন
IP হোয়াইটলিস্টিং
API অ্যাক্সেস নির্দিষ্ট IP ঠিকানা বা CIDR রেঞ্জে সীমাবদ্ধ করুন:
// হোয়াইটলিস্টে IP যোগ করুন
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"
}'
অডিট লগিং এবং কমপ্লায়েন্স
এন্টারপ্রাইজ প্ল্যানে কমপ্লায়েন্সের জন্য বিস্তারিত অডিট লগ অন্তর্ভুক্ত:
| ইভেন্ট |
লগ করা ডেটা |
| অথেন্টিকেশন |
ব্যবহারকারী, টাইমস্ট্যাম্প, সাফল্য/ব্যর্থতা, IP, MFA স্ট্যাটাস |
| কী অপারেশন |
কী ID, অ্যাকশন, ইনিশিয়েটর, টাইমস্ট্যাম্প |
| অ্যাকাউন্ট পরিবর্তন |
কি পরিবর্তন হয়েছে, কে পরিবর্তন করেছে, টাইমস্ট্যাম্প, পূর্ববর্তী/পরবর্তী মান |
| ডেটা অ্যাক্সেস |
ব্যবহারকারী, এন্ডপয়েন্ট, স্কোপ, টাইমস্ট্যাম্প, রেকর্ড কাউন্ট |
অথেন্টিকেশন ইস্যু সমাধান
অবৈধ API কী এরর
সমস্যা: "401 Unauthorized - Invalid API Key" এরর পাচ্ছেন
সমাধান:
- কী ফরম্যাট যাচাই করুন (sk_test_ বা sk_live_ দিয়ে শুরু হওয়া উচিত)
- কী-তে লিডিং/ট্রেইলিং হোয়াইটস্পেস আছে কিনা চেক করুন
- নিশ্চিত করুন কী ডিএক্টিভেট বা রোটেট করা হয়নি
- সঠিক এনভায়রনমেন্ট ব্যবহার করছেন কিনা যাচাই করুন (টেস্টের জন্য টেস্ট কী, প্রোডাকশনের জন্য লাইভ)
- এন্ডপয়েন্ট রিকোয়ারমেন্টের সাথে API কী পারমিশন মিলছে কিনা চেক করুন
টোকেন এক্সপায়ার্ড এরর
সমস্যা: বেয়ারার টোকেন এক্সপায়ার্ড, রিকোয়েস্ট ফেইল করছে
সমাধান:
- রিফ্রেশ টোকেন ব্যবহার করে নতুন অ্যাক্সেস টোকেন পান
- এক্সপায়ারেশনের ৫ মিনিট আগে অটোমেটিক টোকেন রিফ্রেশ ইমপ্লিমেন্ট করুন
- রিফ্রেশ টোকেন সুরক্ষিতভাবে সংরক্ষণ করুন (SPA-এর জন্য localStorage-এ নয়)
- 401 রেসপন্স হ্যান্ডেল করুন রিফ্রেশ টোকেন ফ্লো প্রয়োগ করে
CORS/প্রিফ্লাইট এরর
সমস্যা: ব্রাউজার CORS এরর সহ রিকোয়েস্ট ব্লক করছে
সমাধান:
- ব্রাউজার থেকে API কল হোয়াইটলিস্টেড অরিজিন থেকে আসতে হবে
- ড্যাশবোর্ডে আপনার ডোমেইন যোগ করুন: Settings → CORS Origins
- ব্রাউজার স্বয়ংক্রিয়ভাবে OPTIONS প্রিফ্লাইট রিকোয়েস্ট পাঠায়
- ডেভেলপমেন্টের জন্য localhost:3000 বা অনুরূপ ব্যবহার করুন
MFA চ্যালেঞ্জ সম্পূর্ণ হচ্ছে না
সমস্যা: সঠিক কোড দিয়েও MFA রিকোয়ের্ড অপারেশন ফেইল করছে
সমাধান:
- সার্ভার ক্লক সিঙ্ক্রোনাইজড আছে কিনা নিশ্চিত করুন (TOTP টাইম-ডিপেন্ডেন্ট)
- কোড শুধুমাত্র ৩০ সেকেন্ডের জন্য বৈধ, নতুন জেনারেট করুন
- অথেন্টিকেটর অ্যাপ unavailable হলে ব্যাকআপ কোড ব্যবহার করুন
- রেজিস্টার্ড ইমেইলের মাধ্যমে অ্যাকাউন্ট রিকভারি উপলব্ধ
আজই সুরক্ষিত অথেন্টিকেশন ইমপ্লিমেন্ট করুন
Smart Money API OAuth 2.0, JWT, MFA এবং SAML ইন্টিগ্রেশন সহ এন্টারপ্রাইজ-গ্রেড অথেন্টিকেশন সাপোর্ট করে। ইন্ডাস্ট্রি বেস্ট প্র্যাকটিস দিয়ে আপনার API ইন্টিগ্রেশন সুরক্ষিত করুন।
এন্টারপ্রাইজ প্ল্যান দেখুন
SAML, IP হোয়াইটলিস্টিং বা ডেডিকেটেড সাপোর্ট প্রয়োজন? আমাদের সেলস টিমে যোগাযোগ করুন।