Edge ম্যানেজমেন্ট API-এর সাথে এক্সটার্নাল IDP ব্যবহার করা

Edge ম্যানেজমেন্ট API-তে কল করার সময় যাচাইকরণের একটি উপায় হল বেসিক যাচাইকরণ। যেমন, আপনার প্রতিষ্ঠানের তথ্য অ্যাক্সেস করতে আপনি Edge ম্যানেজমেন্ট API-তে নিম্নলিখিত curl অনুরোধ করতে পারেন:

curl -u userName:pWord https://ms_IP_DNS:8080/v1/organizations/orgName

এই উদাহরণে, আপনি বেসিক যাচাইকরণ ক্রেডেনশিয়াল পাস করতে curl -u বিকল্পটি ব্যবহার করেন। বিকল্প হিসেবে, আপনি Edge ম্যানেজমেন্ট API কল করার জন্য Bearer হেডারে OAuth2 টোকেন পাস করতে পারেন, যেমনটি নিম্নলিখিত উদাহরণে দেখানো হয়েছে:

curl -H "Authorization: Bearer access_token" https://ms_IP_DNS:8080/v1/organizations/orgName

যাচাইকরণের জন্য এক্সটার্নাল IDP চালু করার পরে, আপনি চাইলে বেসিক যাচাইকরণ বন্ধ করতে পারেন। আপনি বেসিক যাচাইকরণ বন্ধ করে দিলে, বেসিক যাচাইকরণ সমর্থন করে এমন এজ ম্যানেজমেন্ট API কলের উপর নির্ভর করে এমন সব স্ক্রিপ্ট (যেমন Maven, শেল এবং apigeetool) আর কাজ করবে না। আপনাকে অবশ্যই যেকোনও API কল এবং স্ক্রিপ্ট আপডেট করতে হবে যা Bearer হেডারে OAuth2 অ্যাক্সেস টোকেন পাস করার জন্য বেসিক যাচাইকরণ ব্যবহার করে।

get_token-এর মাধ্যমে টোকেন পাওয়া ও রিফ্রেশ করা

get_token ইউটিলিটি আপনার প্রাথমিক যাচাইকরণ সংক্রান্ত ক্রেডেনশিয়াল (এবং কিছু ক্ষেত্রে একটি পাসকোড) OAuth2 অ্যাক্সেস এবং রিফ্রেশ টোকেনের সাথে এক্সচেঞ্জ করে। get_token ইউটিলিটি আপনার ক্রেডেনশিয়াল গ্রহণ করে এবং একটি বৈধ অ্যাক্সেস টোকেন রিটার্ন করে। কোনও টোকেন রিফ্রেশ করা গেলে, ইউটিলিটি সেটি রিফ্রেশ করে ফেরত দেয়। রিফ্রেশ টোকেনের মেয়াদ শেষ হয়ে গেলে, এটি ব্যবহারকারীর ক্রেডেনশিয়াল চাইবে।

get_token ইউটিলিটি ডিস্কে টোকেন স্টোর করে, যা প্রয়োজন হলে ব্যবহারের জন্য রেডি থাকে। এছাড়াও, এটি stdout-এ একটি সঠিক অ্যাক্সেস টোকেন প্রিন্ট করে। সেখান থেকে, আপনি Postman-এর মতো ব্রাউজার এক্সটেনশন ব্যবহার করতে পারেন অথবা curl-এ ব্যবহারের জন্য এটিকে এনভায়রনমেন্ট ভেরিয়েবলে এম্বেড করতে পারেন।

Edge ম্যানেজমেন্ট API কল করার জন্য OAuth2 অ্যাক্সেস টোকেন পেতে:

  1. sso-cli বান্ডেল ডাউনলোড করুন:
    curl http://edge_sso_IP_DNS:9099/resources/scripts/sso-cli/ssocli-bundle.zip -o "ssocli-bundle.zip"

    যেখানে edge_sso_IP_DNS হল Apigee SSO মডিউল হোস্ট করা মেশিনের IP অ্যাড্রেস বা DNS নাম। আপনি Apigee SSO-তে TLS কনফিগার করলে, https এবং সঠিক TLS পোর্ট নম্বর ব্যবহার করুন।

  2. নিচের উদাহরণে যেভাবে দেখানো হয়েছে সেইভাবে ssocli-bundle.zip বান্ডেল আনজিপ করুন:
    unzip ssocli-bundle.zip
  3. নিচের উদাহরণে যেভাবে দেখানো হয়েছে সেইভাবে /usr/local/bin-এ get_token ইনস্টল করুন:
    ./install -b path

    -b বিকল্পটি অন্য একটি লোকেশন নির্দিষ্ট করে।

  4. নিম্নলিখিত ফর্ম্যাটে আপনার লগ-ইন করার URL-এ SSO_LOGIN_URL এনভায়রনমেন্ট ভেরিয়েবল সেট করুন:
    export SSO_LOGIN_URL="http://edge_sso_IP_DNS:9099"

    যেখানে edge_sso_IP_DNS হল Apigee SSO মডিউল হোস্ট করা মেশিনের IP অ্যাড্রেস। আপনি Apigee SSO-তে TLS কনফিগার করলে, https এবং সঠিক TLS পোর্ট নম্বর ব্যবহার করুন।

  5. (শুধুমাত্র SAML) ব্রাউজারে, ওয়ান-টাইম পাসকোড পেতে নিম্নলিখিত URL-এ যান:
    http://edge_sso_IP_DNS:9099/passcode

    আপনি Apigee SSO-তে TLS কনফিগার করলে, https এবং সঠিক TLS পোর্ট নম্বর ব্যবহার করুন।

    এই অনুরোধের ফলে একটি ওয়ান-টাইম পাসকোড পাওয়া যায় যা নতুন পাসকোড পাওয়ার জন্য URL রিফ্রেশ না করা পর্যন্ত অথবা অ্যাক্সেস টোকেন তৈরি করার জন্য get_token-এর সাথে পাসকোড ব্যবহার না করা পর্যন্ত বৈধ থাকে।

    মনে রাখবেন, আপনি শুধুমাত্র SAML IDP-এর মাধ্যমে যাচাই করার সময় পাসকোড ব্যবহার করতে পারবেন। আপনি LDAP IDP-এর মাধ্যমে যাচাই করার জন্য পাসকোড ব্যবহার করতে পারবেন না।

  6. OAuth2 অ্যাক্সেস টোকেন পেতে get_token কল করুন, যেমনটি নিম্নলিখিত উদাহরণে দেখানো হয়েছে:
    get_token -u emailAddress

    যেখানে emailAddress হল Edge ব্যবহারকারীর ইমেল আইডি।

    (শুধুমাত্র SAML) ইমেল আইডির সাথে কমান্ড লাইনে পাসকোড লিখুন, যেমনটি নিম্নলিখিত উদাহরণে দেখানো হয়েছে:

    get_token -u emailAddress -p passcode

    get_token ইউটিলিটি OAuth2 অ্যাক্সেস টোকেন সংগ্রহ করে, এটি স্ক্রিনে প্রিন্ট করে এবং এটি ও রিফ্রেশ টোকেন ~/.sso-cli-এ লেখে।

  7. Bearer হেডার হিসেবে Edge ম্যানেজমেন্ট API কলে অ্যাক্সেস টোকেন পাস করুন, যেমনটি নিম্নলিখিত উদাহরণে দেখানো হয়েছে:
    curl -H "Authorization: Bearer access_token"
      https://ms_IP:8080/v1/organizations/orgName
  8. প্রথমবার নতুন অ্যাক্সেস টোকেন পাওয়ার পরে, আপনি অ্যাক্সেস টোকেন পেতে এবং নিচের উদাহরণের মতো একটি কমান্ডের মাধ্যমে API কলে এটি পাস করতে পারবেন:
    header=`get_token` && curl -H "Authorization: Bearer $header"
      https://ms_IP:8080/v1/o/orgName

    কমান্ডের এই ফর্মের মাধ্যমে, অ্যাক্সেস টোকেনের মেয়াদ শেষ হয়ে গেলে, রিফ্রেশ টোকেনের মেয়াদ শেষ না হওয়া পর্যন্ত এটি অটোমেটিক রিফ্রেশ করা হয়।

(শুধুমাত্র SAML) রিফ্রেশ টোকেনের মেয়াদ শেষ হয়ে গেলে, get_token আপনাকে নতুন পাসকোড দেওয়ার জন্য প্রম্পট করে। নতুন OAuth অ্যাক্সেস টোকেন জেনারেট করার আগে আপনাকে অবশ্যই ৩ নম্বর ধাপে উপরে দেখানো URL-এ নেভিগেট করতে হবে এবং নতুন পাসকোড জেনারেট করতে হবে।

টোকেন পেতে এবং রিফ্রেশ করতে ম্যানেজমেন্ট API ব্যবহার করুন

Apigee Edge ম্যানেজমেন্ট API-এর সাথে OAuth2 সুরক্ষা ব্যবহার করা থেকে জানা যায় যে টোকেন পেতে ও রিফ্রেশ করতে কীভাবে Edge ম্যানেজমেন্ট API ব্যবহার করতে হয়। এছাড়াও, SAML অ্যাসারশন থেকে জেনারেট করা টোকেন পেতে আপনি Edge API কল ব্যবহার করতে পারেন।

Apigee Edge ম্যানেজমেন্ট API-এর সাথে OAuth2 নিরাপত্তা ব্যবহার করা-তে ডকুমেন্ট করা API কলের মধ্যে একমাত্র পার্থক্য হল, কলের URL-এ আপনার জোনের নাম উল্লেখ করতে হবে। এছাড়াও, SAML IDP-এর মাধ্যমে প্রাথমিক অ্যাক্সেস টোকেন জেনারেট করার জন্য, আপনাকে অবশ্যই পাসকোড অন্তর্ভুক্ত করতে হবে, যেমনটি উপরে উল্লিখিত পদ্ধতির ৩ নম্বর ধাপে দেখানো হয়েছে।

অনুমোদনের জন্য, Authorization হেডারে একটি সংরক্ষিত OAuth2 ক্লায়েন্ট ক্রেডেনশিয়াল পাস করুন। কলটি স্ক্রিনে অ্যাক্সেস এবং রিফ্রেশ টোকেন প্রিন্ট করে।

অ্যাক্সেস টোকেন পান

(LDAP) প্রাথমিক অ্যাক্সেস ও রিফ্রেশ টোকেন জেনারেট করতে নিম্নলিখিত 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'

(SAML) প্রাথমিক অ্যাক্সেস ও রিফ্রেশ টোকেন জেনারেট করতে নিম্নলিখিত 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'

মনে রাখবেন, SAML IDP-এর মাধ্যমে যাচাইকরণের জন্য সাময়িক পাসকোড প্রয়োজন, তবে LDAP IDP-এর জন্য প্রয়োজন নেই।

অ্যাক্সেস টোকেন রিফ্রেশ করুন

পরে অ্যাক্সেস টোকেন রিফ্রেশ করতে, নিম্নলিখিত কল ব্যবহার করুন যাতে রিফ্রেশ টোকেন অন্তর্ভুক্ত থাকে:

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'