এজ ম্যানেজমেন্ট এপিআই এর সাথে একটি এক্সটার্নাল IDP ব্যবহার করুন, এজ ম্যানেজমেন্ট এপিআই এর সাথে একটি এক্সটার্নাল IDP ব্যবহার করুন

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

curl -u USER_NAME:PASSWORD https://MS_IP_DNS:8080/v1/organizations/ORG_NAME

এই উদাহরণে, আপনি মৌলিক প্রমাণীকরণ শংসাপত্রগুলি পাস করতে curl -u বিকল্পটি ব্যবহার করেন। বিকল্পভাবে, আপনি এজ ম্যানেজমেন্ট এপিআই কল করতে Bearer হেডারে একটি OAuth2 টোকেন পাস করতে পারেন, যেমনটি নিম্নলিখিত উদাহরণটি দেখায়:

curl -H "Authorization: Bearer ACCESS_TOKEN" https://MS_IP_DNS:8080/v1/organizations/ORG_NAME

আপনি প্রমাণীকরণের জন্য একটি বাহ্যিক IDP সক্ষম করার পরে, আপনি ঐচ্ছিকভাবে মৌলিক প্রমাণীকরণ অক্ষম করতে পারেন। যদি আপনি বেসিক প্রমাণীকরণ অক্ষম করেন, সমস্ত স্ক্রিপ্ট (যেমন Maven, shell, এবং apigeetool ) যেগুলি এজ ম্যানেজমেন্ট API কলগুলির উপর নির্ভর করে যেগুলি বেসিক প্রমাণীকরণ সমর্থন করে আর কাজ করবে না৷ Bearer হেডারে OAuth2 অ্যাক্সেস টোকেন পাস করতে আপনাকে মৌলিক প্রমাণীকরণ ব্যবহার করে এমন যেকোনো API কল এবং স্ক্রিপ্ট আপডেট করতে হবে।

get_token দিয়ে টোকেন পান এবং রিফ্রেশ করুন

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

get_token ইউটিলিটি ডিস্কে টোকেন সংরক্ষণ করে, প্রয়োজনে ব্যবহারের জন্য প্রস্তুত। এটি stdout এ একটি বৈধ অ্যাক্সেস টোকেনও প্রিন্ট করে। সেখান থেকে, আপনি পোস্টম্যানের মতো একটি ব্রাউজার এক্সটেনশন ব্যবহার করতে পারেন বা curl এ ব্যবহারের জন্য এটি একটি পরিবেশ পরিবর্তনশীল এম্বেড করতে পারেন।

এজ ম্যানেজমেন্ট এপিআই কল করার জন্য একটি 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/binget_token ইনস্টল করুন, নিম্নলিখিত উদাহরণটি দেখায়:
    ./install -b PATH

    -b বিকল্প একটি ভিন্ন অবস্থান নির্দিষ্ট করে।

  4. 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 EMAIL_ADDRESS

    যেখানে EMAIL_ADDRESS হল একটি এজ ব্যবহারকারীর ইমেল ঠিকানা৷

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

    get_token -u EMAIL_ADDRESS -p PASSCODE

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

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

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

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

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

Apigee এজ ম্যানেজমেন্ট এপিআই এর সাথে OAuth2 সিকিউরিটি ব্যবহার করুন কিভাবে টোকেন পেতে এবং রিফ্রেশ করতে এজ ম্যানেজমেন্ট এপিআই ব্যবহার করতে হয় তা দেখায়। আপনি SAML দাবী থেকে জেনারেট করা টোকেন পেতে এজ এপিআই কলগুলিও ব্যবহার করতে পারেন।

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

অনুমোদনের জন্য, 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 \
  http://EDGE_SSO_IP_DNS:9099/oauth/token -s \
  -d 'grant_type=password&username=USER_EMAIL&password=USER_PASSWORD'

(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=REFRESH_TOKEN'