Authentication এবং Scope

ওয়ালেট-মালিকানাধীন Bearer-Token ইস্যু, ব্যবহার এবং প্রত্যাহার করুন।

সর্বশেষ আপডেট: ৩০ সেপ, ২০২৬

একটি challenge অনুরোধ করুন

মেশিন authentication Flare chain-14 EIP-4361 SIWE challenge ব্যবহার করে। ফেরত পাওয়া বার্তাটি হুবহু আপনার ওয়ালেট দিয়ে সাইন করুন (EIP-191 personal_sign)। Nonce একবার ব্যবহারযোগ্য, ওয়ালেটে আবদ্ধ এবং পাঁচ মিনিট পরে মেয়াদোত্তীর্ণ হয়। শুধু আপনার ক্লায়েন্টের প্রয়োজনীয় permission-ই অনুরোধ করুন। উদাহরণটি write এবং spend চায়, কারণ পরবর্তী টপআপ ও সাবস্ক্রিপশন উদাহরণগুলো দুটোই ব্যবহার করে; read সবসময় অন্তর্ভুক্ত থাকে।

curl -X POST 'https://ftso.app/api/x402/auth/challenge' \
  -H 'content-type: application/json' \
  -d '{"wallet":"0xYOUR_WALLET","scopes":["write","spend"],"label":"My agent"}'

রেসপন্সে wallet, nonce, issuedAt এবং message থাকে। message হুবহু সংরক্ষণ করুন, whitespace সহ। viem-এ account.signMessage({ message }) ব্যবহার করুন। Scope সাইন করা সম্মতির অংশ; label শুধু কসমেটিক মেটাডেটা, সর্বোচ্চ 40 অক্ষর। Nonce থেকে বার্তাটি পুনর্গঠন করবেন না।

স্বাক্ষর বিনিময় করুন

curl -X POST 'https://ftso.app/api/x402/auth/token' \
  -H 'content-type: application/json' \
  -d '{"message":"EXACT_RETURNED_SIWE_MESSAGE","signature":"0xSIGNATURE"}'
# Response: { token: "fbx_...", wallet, scopes, expiresAt }

token নিরাপদে সংরক্ষণ করুন এবং পরবর্তী কলগুলোতে Authorization: Bearer fbx_… পাঠান। এটি query string, শেয়ার করা লগ বা উদাহরণে রাখবেন না। Token বিনিময় no-store। EOA স্বাক্ষর স্থানীয়ভাবে যাচাই করা হয়; কন্ট্রাক্ট-ওয়ালেট যাচাই কনফিগার করা সার্ভার RPC-এর উপর নির্ভর করে এবং যাচাই ব্যর্থ হলে authentication প্রত্যাখ্যান করে।

Permission মডেল

  • read: পড়া এবং বার্তার প্রিভিউ; enforcement সক্রিয় থাকলে পেইড ডেটা অ্যাক্সেসও অন্তর্ভুক্ত।
  • write: পরিবর্তন, recipient টেস্ট, টপআপ draft ও confirmation, terms গ্রহণ, trial এবং Auto-Renew নিষ্ক্রিয় করা।
  • spend: সাবস্ক্রিপশন ক্যাপাসিটি কেনা এবং Auto-Renew সক্রিয় করা।
  • read সবসময় দেওয়া হয়, write বা spend-এর সাথেও। একটি write token একই ওয়ালেটের যেকোনো token প্রত্যাহার করতে পারে।

Token তালিকা এবং প্রত্যাহার

curl 'https://ftso.app/api/x402/auth/tokens' -H 'authorization: Bearer fbx_TOKEN'
curl -X DELETE 'https://ftso.app/api/x402/auth/tokens/42' \
  -H 'authorization: Bearer fbx_WRITE_TOKEN'

একটি ওয়ালেটে সর্বোচ্চ দশটি সক্রিয় token থাকতে পারে। তালিকা সর্বোচ্চ 50টি মেটাডেটা এন্ট্রি ফেরত দেয়, সক্রিয়গুলো আগে; এটি কখনো secret বা hash ফেরত দেয় না। প্রত্যাহার পরবর্তী authenticated অনুরোধ থেকে কার্যকর হয়। অন্যের ID-র জন্য 404 ফেরত আসে। ব্রাউজারে Wallet-Center Settings → Security-তে token পরিচালনা করা যায়। MCP নিজস্ব OAuth ফ্লো ব্যবহার করে; একটি x402 Bearer-Token কোনো MCP access token নয়।

Bearer-Token-এর মেয়াদ সেকেন্ডে

  • Bearer-Token-এর মেয়াদ সেকেন্ডে: 86400
  • প্রতিদিন anonymous free-tier কল (শুধু enforce): 50