Edge for Private Cloud v4.19.01
Edge ম্যানেজমেন্ট API-তে কল করার সময় যাচাই করার একটি উপায় হল বেসিক অথেন্টিকেশন। যেমন, আপনার প্রতিষ্ঠান সম্পর্কে তথ্য অ্যাক্সেস করতে আপনি Edge ম্যানেজমেন্ট API-তে নিম্নলিখিত cURL অনুরোধ করতে পারেন:
curl -u userName:pWord https://ms_IP_DNS:8080/v1/organizations/orgName
এই উদাহরণে, আপনি বেসিক Auth ক্রেডেনশিয়াল পাস করার জন্য cURL -u বিকল্প ব্যবহার করেন। অন্যথায়, আপনি Edge ম্যানেজমেন্ট API কল করার জন্য Bearer হেডারে OAuth2 টোকেন পাঠাতে পারেন। যেমন:
curl -H "Authorization: Bearer access_token" https://ms_IP_DNS:8080/v1/organizations/orgName
SAML চালু করার পরে, আপনি চাইলে বেসিক অথেন্টিকেশন বন্ধ করতে পারেন। বেসিক অথেন্টিকেশন বন্ধ করলে, বেসিক অথেন্টিকেশন সমর্থন করে এমন Edge ম্যানেজমেন্ট API কলের উপর নির্ভর করে এমন সব স্ক্রিপ্ট (Maven স্ক্রিপ্ট, শেল স্ক্রিপ্ট, apigeetool ইত্যাদি) আর কাজ করে না। আপনাকে অবশ্যই যেকোনও API কল এবং স্ক্রিপ্ট আপডেট করতে হবে যা বিয়ারার হেডারে OAuth2 অ্যাক্সেস টোকেন পাস করার জন্য বেসিক প্রমাণীকরণ ব্যবহার করে।
টোকেন পেতে এবং রিফ্রেশ করতে get_token ব্যবহার করা হচ্ছে
get_token ইউটিলিটি OAuth2 অ্যাক্সেস ও রিফ্রেশ টোকেনের জন্য আপনার বেসিক যাচাইকরণ ক্রেডেনশিয়াল ও পাসকোড এক্সচেঞ্জ করে। get_token ইউটিলিটি আপনার ক্রেডেনশিয়াল গ্রহণ করে এবং একটি সঠিক অ্যাক্সেস টোকেন প্রিন্ট করে। কোনও টোকেন রিফ্রেশ করা গেলে, এটি সেটি রিফ্রেশ করবে এবং প্রিন্ট করবে। রিফ্রেশ টোকেনের মেয়াদ শেষ হয়ে গেলে, এটি ব্যবহারকারীর ক্রেডেনশিয়াল চাইবে।
get_token ইউটিলিটি ডিস্কে টোকেন স্টোর করে, প্রয়োজন হলে ব্যবহারের জন্য রেডি থাকে। এটি stdout-এ একটি সঠিক অ্যাক্সেস টোকেনও প্রিন্ট করে। সেখান থেকে, আপনি Postman ব্যবহার করতে পারেন বা curl-এ ব্যবহারের জন্য এটিকে এনভায়রনমেন্ট ভেরিয়েবলে এম্বেড করতে পারেন।
Edge ম্যানেজমেন্ট API কল করার জন্য OAuth2 অ্যাক্সেস টোকেন পেতে কীভাবে get_token ব্যবহার করতে হয় তা নিম্নলিখিত পদ্ধতিতে বর্ণনা করা হয়েছে:
- sso-cli
বান্ডেল ডাউনলোড করুন:
curl http://edge_sso_IP_DNS:9099/resources/scripts/sso-cli/ssocli-bundle.zip -o "ssocli-bundle.zip"
যেখানে edge_sso_IP_DNS হল Edge SSO মডিউল হোস্ট করা মেশিনের DNS নামের IP অ্যাড্রেস। আপনি Edge SSO-তে TLS কনফিগার করলে,
httpsএবং সঠিক TLS পোর্ট নম্বর ব্যবহার করুন। ssocli-bundle.zipবান্ডেল আনজিপ করুন:unzip ssocli-bundle.zip
- /usr/local/bin-এ
get_token ইনস্টল করুন:
> ./install অন্য লোকেশন নির্দিষ্ট করতে -b বিকল্প ব্যবহার করুন: > ./install -b path - SSO_LOGIN_URL
এনভায়রনমেন্ট ভেরিয়েবল আপনার লগ-ইন URL-এ সেট করুন, এই ফর্ম্যাটে:
export SSO_LOGIN_URL="http://edge_sso_IP_DNS:9099"
যেখানে edge_sso_IP_DNS হল Edge SSO মডিউল হোস্ট করা মেশিনের DNS নামের IP অ্যাড্রেস। আপনি Edge SSO-তে TLS কনফিগার করলে, https এবং সঠিক TLS পোর্ট নম্বর ব্যবহার করুন। - ব্রাউজারে, ওয়ান-টাইম পাসকোড পেতে নিম্নলিখিত URL-এ যান:
http://edge_sso_IP_DNS:9099/passcode
আপনি Edge SSO-তে TLS কনফিগার করলে, https এবং সঠিক TLS পোর্ট নম্বর ব্যবহার করুন।
মনে রাখবেন: আপনি বর্তমানে নিজের পরিচয় প্রদানকারীর মাধ্যমে লগ-ইন না করে থাকলে, আপনাকে লগ-ইন করার জন্য প্রম্পট করা হবে।
এই URL একটি ওয়ান-টাইম পাসকোড প্রদান করে যা আপনি নতুন পাসকোড পাওয়ার জন্য URL রিফ্রেশ না করা পর্যন্ত অথবা অ্যাক্সেস টোকেন তৈরি করার জন্য get_token-এর সাথে পাসকোড ব্যবহার না করা পর্যন্ত বৈধ থাকে। - OAuth2 অ্যাক্সেস টোকেন পেতে
get_token ইনভোক করুন:
> get_token -u emailAddress
যেখানে emailAddress হল Edge ব্যবহারকারীর ইমেল আইডি। আপনাকে ৩ নম্বর ধাপে পাওয়া ওয়ান-টাইম পাসকোড লিখতে বলা হবে:
ওয়ান-টাইম কোড ( https://edge_sso_IP.com/passcode থেকে একটি পান )
SAML চালু করা থাকলে পাসকোড লিখুন অথবা ENTER প্রেস করুন:
পাসকোড লিখুন। get_token ইউটিলিটি OAuth2 অ্যাক্সেস টোকেন পায়, এটি স্ক্রিনে প্রিন্ট করে এবং এটি ও রিফ্রেশ টোকেন ~/.sso-cli-তে লেখে।
আপনি কমান্ড লাইনে get_token কমান্ড ব্যবহার করে এই ফর্ম্যাটে পাসকোড লিখতে পারেন:
> get_token -u emailAddress -p passcode - Bearer হেডার হিসেবে Edge ম্যানেজমেন্ট API কলে অ্যাক্সেস টোকেন পাস করুন:
> curl -H "Authorization: Bearer access_token" https://ms_IP:8080/v1/organizations/orgName
প্রথমবার নতুন অ্যাক্সেস টোকেন পাওয়ার পরে, আপনি অ্যাক্সেস টোকেন পেতে এবং নিচে দেখানো একটি কমান্ডে API কলে পাস করতে পারবেন:
> header=`get_token` && curl -H "Authorization: Bearer $header" https://ms_IP:8080/v1/o/orgName
কমান্ডের এই ফর্মের মাধ্যমে, অ্যাক্সেস টোকেনের মেয়াদ শেষ হয়ে গেলে, রিফ্রেশ টোকেনের মেয়াদ শেষ না হওয়া পর্যন্ত এটি অটোমেটিক রিফ্রেশ হয়ে যায়।
রিফ্রেশ টোকেনের মেয়াদ শেষ হয়ে গেলে, get_token আপনাকে নতুন পাসকোড দেওয়ার জন্য প্রম্পট করে। নতুন OAuth অ্যাক্সেস টোকেন জেনারেট করার আগে আপনাকে ধাপ ৩-এ দেখানো URL-এ গিয়ে নতুন পাসকোড জেনারেট করতে হবে
টোকেন পেতে এবং রিফ্রেশ করতে ম্যানেজমেন্ট API ব্যবহার করা
Apigee Edge ম্যানেজমেন্ট API-এর সাথে OAuth2 সুরক্ষা ব্যবহার করা লিঙ্কে টোকেন পাওয়া ও রিফ্রেশ করার জন্য কীভাবে Edge ম্যানেজমেন্ট API ব্যবহার করতে হয় সেই সংক্রান্ত নির্দেশাবলী রয়েছে। এছাড়াও, SAML অ্যাসারশন থেকে জেনারেট করা টোকেনের জন্য আপনি Edge API কল ব্যবহার করতে পারেন।
Apigee Edge ম্যানেজমেন্ট API-এর সাথে OAuth2 নিরাপত্তা ব্যবহার করা-এ ডকুমেন্ট করা API কলের মধ্যে একমাত্র পার্থক্য হল কলের URL-এ আপনার জোনের নাম উল্লেখ করতে হবে। এছাড়াও, প্রাথমিক অ্যাক্সেস টোকেন তৈরি করার জন্য, আপনাকে অবশ্যই পাসকোড অন্তর্ভুক্ত করতে হবে, যেমনটি উপরে উল্লিখিত পদ্ধতির ৩ নম্বর ধাপে দেখানো হয়েছে।
যেমন, প্রাথমিক অ্যাক্সেস ও রিফ্রেশ টোকেন জেনারেট করতে নিম্নলিখিত API কল ব্যবহার করুন:
curl -H "Content-Type: application/x-www-form-urlencoded;charset=utf-8" / -H "accept: application/json;charset=utf-8" / -H "Authorization: Basic ZWRnZWNsaTplZGdlY2xpc2VjcmV0" -X POST / https://edge_sso_IP_DNS:9099/oauth/token -s / -d 'grant_type=password&response_type=token&passcode=passcode'
অনুমোদনের জন্য, অনুমোদন হেডারে একটি সংরক্ষিত OAuth2 ক্লায়েন্ট ক্রেডেনশিয়াল পাস করুন। কলটি স্ক্রিনে অ্যাক্সেস এবং রিফ্রেশ টোকেন প্রিন্ট করে।
পরে অ্যাক্সেস টোকেন রিফ্রেশ করতে, নিম্নলিখিত কল ব্যবহার করুন যাতে রিফ্রেশ টোকেন অন্তর্ভুক্ত থাকে:
curl -H "Content-Type:application/x-www-form-urlencoded;charset=utf-8" / -H "Accept: application/json;charset=utf-8" / -H "Authorization: Basic ZWRnZWNsaTplZGdlY2xpc2VjcmV0" -X POST / https://edge_sso_IP_DNS:9099/oauth/token / -d 'grant_type=refresh_token&refresh_token=refreshToken'