আপনি Apigee Edge ডকুমেন্টেশন দেখছেন।
Apigee X ডকুমেন্টেশনে যান । তথ্য
Apigee Edge আপনাকে Edge API কল করতে দেয় যা OAuth2 টোকেন দ্বারা প্রমাণীকৃত। OAuth2-এর জন্য সমর্থন ক্লাউড অ্যাকাউন্টের জন্য এজ-এ ডিফল্টরূপে সক্রিয় করা আছে। আপনি যদি ব্যক্তিগত ক্লাউডের জন্য এজ ব্যবহার করেন, আপনি প্রথমে SAML বা LDAP সেট আপ না করে OAuth2 ব্যবহার করতে পারবেন না।
কিভাবে OAuth2 কাজ করে (Apigee Edge API এর সাথে)
Apigee Edge API-তে কল করার জন্য প্রমাণীকরণের প্রয়োজন হয় যাতে আমরা নিশ্চিত হতে পারি যে আপনি যা বলছেন আপনি সেই ব্যক্তি। আপনাকে প্রমাণীকরণ করার জন্য, আমাদের API অ্যাক্সেস করার জন্য আপনার অনুরোধের সাথে একটি OAuth2 অ্যাক্সেস টোকেন পাঠানো প্রয়োজন।
উদাহরণস্বরূপ, যদি আপনি এজ-এ একটি সংস্থার বিশদ বিবরণ পেতে চান তবে আপনি নিম্নলিখিতগুলির মতো একটি URL-এ একটি অনুরোধ পাঠাবেন:
https://api.enterprise.apigee.com/v1/organizations/ahamilton-eval
কিন্তু আপনি কে আমাদের না জানিয়ে সেই অনুরোধটি পাঠাতে পারবেন না। অন্যথায়, যে কেউ আপনার প্রতিষ্ঠানের বিবরণ দেখতে পারে।
এখানেই OAuth2 আসে: আপনাকে প্রমাণীকরণ করার জন্য, আমাদের সেই অনুরোধে আমাদের একটি অ্যাক্সেস টোকেন পাঠাতে হবে। অ্যাক্সেস টোকেন আমাদের বলে যে আপনি কে তাই আমরা নিশ্চিত হতে পারি যে আপনি প্রতিষ্ঠানের বিশদ বিবরণ দেখতে পাবেন।
সৌভাগ্যবশত, আপনি Edge OAuth2 পরিষেবাতে আপনার শংসাপত্র পাঠিয়ে একটি টোকেন পেতে পারেন। পরিষেবাটি অ্যাক্সেস এবং রিফ্রেশ টোকেনগুলির সাথে প্রতিক্রিয়া জানায়৷
OAuth2 ফ্লো: প্রাথমিক অনুরোধ
আপনি যখন প্রথমবার এজ এপিআই অ্যাক্সেস করেন তখন নিম্নলিখিত চিত্রটি OAuth2 প্রবাহ দেখায়:
যেমন চিত্র 1 দেখায়, আপনি যখন এজ এপিআই-তে আপনার প্রাথমিক অনুরোধ করেন:
- আপনি একটি অ্যাক্সেস টোকেন অনুরোধ করুন. আপনি Edge API , acurl , বা
get_token
দিয়ে এটি করতে পারেন। যেমন:get_token Enter username:
ahamilton@apigee.com
Enter the password for user 'ahamilton@apigee.com'[hidden input]
Enter the six-digit code if 'ahamilton@apigee.com' is MFA enabled or press ENTER:123456
- এজ OAuth2 পরিষেবা একটি অ্যাক্সেস টোকেনের সাথে প্রতিক্রিয়া জানায় এবং এটিকে
stdout
এ প্রিন্ট করে; উদাহরণস্বরূপ:Dy42bGciOiJSUzI1NiJ9.eyJqdGkiOiJhM2YwNjA5ZC1lZTIxLTQ1YjAtOGQyMi04MTQ0MTYxNjNhNTMiLCJz AJpdGUiLCJhcHByb3ZhbHMubWUiLCJvYXV0aC5hcHByb3ZhbHMiXSwiY2xpZW50X2lkIjoiZWRnZWNsaSIsIm NjbGkiLCJhenAiOiJlZGdlY2xpIiwiZ3JhbnRfdHlwZSI6InBhc3N3b3JkIiwidXNlcl9pZCI6IjJkMWU3NDI GzQyMC1kYzgxLTQzMDQtOTM4ZS1hOGNmNmVlODZhNzkiLCJzY29wZSI6WyJzY2ltLm1lIiwib3BlbmlkIiwic ENC05MzhlLWE4Y2Y2ZWU4NmE3OSIsIm9yaWdpbiI6InVzZXJncmlkIiwidXNlcl9uYW1lIjoiZGFuZ2VyNDI0 RI6ImUyNTM2NWQyIiwiaWF0IjoxNTI4OTE2NDA5LCJleHAiOjE1Mjg5MTgyMDksImlzcyI6Imh0dHBzOi8vbG 420iLCJlbWFpbCI6ImRhbmdlcjQyNDJAeWFob28uY29tIiwiYXV0aF90aW1lIjoxNTI4OTE2NDA5LCJhbCI6M 2lLmNvbSIsInppZCI6InVhYSIsImF1ZCI6WyJlZGdlY2xpIiwic2NpbSIsIm9wZW5pZCIsInBhc3N3b3JkIiw
acurl
এবংget_token
ইউটিলিটিগুলি নিঃশব্দে অ্যাক্সেস সংরক্ষণ করে এবং টোকেনগুলিকে~/.sso-cli
তে রিফ্রেশ করে (রিফ্রেশ টোকেনটিstdout
এ লেখা হয় না।) আপনি যদি টোকেনগুলি পেতে Edge OAuth2 পরিষেবা ব্যবহার করেন, তাহলে আপনাকে পরবর্তীতে নিজের ব্যবহারের জন্য সেগুলি সংরক্ষণ করতে হবে . - আপনি অ্যাক্সেস টোকেন সহ এজ এপিআইতে একটি অনুরোধ পাঠান।
acurl
স্বয়ংক্রিয়ভাবে টোকেন সংযুক্ত করে; উদাহরণস্বরূপ:acurl https://api.enterprise.apigee.com/v1/organizations/ahamilton-eval
আপনি অন্য HTTP ক্লায়েন্ট ব্যবহার করলে, অ্যাক্সেস টোকেন যোগ করতে ভুলবেন না। যেমন:
curl https://api.enterprise.apigee.com/v1/organizations/ahamilton-eval \ -H "Authorization: Bearer ACCESS_TOKEN"
- এজ এপিআই আপনার অনুরোধ কার্যকর করে এবং সাধারণত ডেটা সহ একটি প্রতিক্রিয়া প্রদান করে।
OAuth2 ফ্লো: পরবর্তী অনুরোধ
পরবর্তী অনুরোধে, আপনাকে একটি টোকেনের জন্য আপনার শংসাপত্রগুলি বিনিময় করতে হবে না। পরিবর্তে, আপনি ইতিমধ্যে আপনার কাছে থাকা অ্যাক্সেস টোকেনটি অন্তর্ভুক্ত করতে পারেন, যতক্ষণ না এটির মেয়াদ শেষ না হয়:
চিত্র 2 দেখায়, যখন আপনার কাছে ইতিমধ্যে একটি অ্যাক্সেস টোকেন থাকে:
- আপনি অ্যাক্সেস টোকেন সহ এজ এপিআইতে একটি অনুরোধ পাঠান।
acurl
স্বয়ংক্রিয়ভাবে টোকেন সংযুক্ত করে। আপনি যদি অন্যান্য সরঞ্জাম ব্যবহার করেন তবে আপনাকে টোকেনটি ম্যানুয়ালি যোগ করতে হবে। - এজ এপিআই আপনার অনুরোধ কার্যকর করে এবং সাধারণত ডেটা সহ একটি প্রতিক্রিয়া প্রদান করে।
OAuth2 ফ্লো: আপনার অ্যাক্সেস টোকেনের মেয়াদ শেষ হলে
যখন একটি অ্যাক্সেস টোকেনের মেয়াদ শেষ হয় (12 ঘন্টা পরে), আপনি একটি নতুন অ্যাক্সেস টোকেন পেতে রিফ্রেশ টোকেন ব্যবহার করতে পারেন:
চিত্র 3 দেখায়, যখন আপনার অ্যাক্সেস টোকেনের মেয়াদ শেষ হয়ে যায়:
- আপনি এজ এপিআইতে একটি অনুরোধ পাঠান, কিন্তু আপনার অ্যাক্সেস টোকেনের মেয়াদ শেষ হয়ে গেছে।
- এজ এপিআই আপনার অনুরোধটিকে অননুমোদিত বলে প্রত্যাখ্যান করে।
- আপনি এজ OAuth2 পরিষেবাতে একটি রিফ্রেশ টোকেন পাঠান। আপনি যদি
acurl
ব্যবহার করেন তবে এটি আপনার জন্য স্বয়ংক্রিয়ভাবে সম্পন্ন হয়। - এজ OAuth2 পরিষেবা একটি নতুন অ্যাক্সেস টোকেনের সাথে প্রতিক্রিয়া জানায়।
- আপনি নতুন অ্যাক্সেস টোকেন সহ এজ এপিআইতে একটি অনুরোধ পাঠান।
- এজ এপিআই আপনার অনুরোধ কার্যকর করে এবং সাধারণত ডেটা সহ একটি প্রতিক্রিয়া প্রদান করে।
টোকেন পান
একটি অ্যাক্সেস টোকেন পেতে যা আপনি এজ এপিআইতে পাঠাতে পারেন, আপনি curl
এর মতো একটি ইউটিলিটি ছাড়াও নিম্নলিখিত অ্যাপিজি ইউটিলিটিগুলি ব্যবহার করতে পারেন:
- get_token ইউটিলিটি : অ্যাক্সেসের জন্য আপনার Apigee শংসাপত্র বিনিময় করে এবং টোকেন রিফ্রেশ করে যা আপনি এজ API কল করতে ব্যবহার করতে পারেন।
- acurl ইউটিলিটি : একটি স্ট্যান্ডার্ড
curl
কমান্ডের চারপাশে একটি সুবিধার মোড়ক প্রদান করে। এজ এপিআই-তে HTTP অনুরোধ তৈরি করে,get_token
থেকে অ্যাক্সেস এবং রিফ্রেশ টোকেন পায় এবং এজ এপিআই-এ অ্যাক্সেস টোকেন পাস করে। - এজ OAuth2 পরিষেবাতে টোকেন এন্ডপয়েন্ট : অ্যাক্সেসের জন্য আপনার Apigee শংসাপত্রগুলি বিনিময় করুন এবং এজ এপিআই-তে একটি কলের মাধ্যমে টোকেনগুলি রিফ্রেশ করুন৷
এই ইউটিলিটিগুলি নিম্নলিখিত সময়কালের সাথে টোকেনের জন্য আপনার Apigee অ্যাকাউন্টের শংসাপত্র (ইমেল ঠিকানা এবং পাসওয়ার্ড) বিনিময় করে:
- অ্যাক্সেস টোকেন 12 ঘন্টার মধ্যে মেয়াদ শেষ হয়.
- রিফ্রেশ টোকেন 30 দিনের মধ্যে মেয়াদ শেষ হয়.
ফলস্বরূপ, একবার আপনি সফলভাবে acurl
বা get_token
দিয়ে একটি API কল করলে, আপনি 30 দিনের জন্য টোকেন জোড়া ব্যবহার করা চালিয়ে যেতে পারেন। মেয়াদ শেষ হওয়ার পরে, আপনাকে অবশ্যই আপনার শংসাপত্রগুলি পুনরায় প্রবেশ করতে হবে এবং নতুন টোকেন পেতে হবে।
OAuth2 দিয়ে এজ এপিআই অ্যাক্সেস করুন
এজ এপিআই অ্যাক্সেস করতে, আপনি একটি এপিআই এন্ডপয়েন্টে একটি অনুরোধ পাঠান এবং অ্যাক্সেস টোকেন অন্তর্ভুক্ত করুন। আপনি যেকোন HTTP ক্লায়েন্টের সাথে এটি করতে পারেন, যার মধ্যে একটি কমান্ড-লাইন ইউটিলিটি যেমন curl
, একটি ব্রাউজার-ভিত্তিক UI যেমন পোস্টম্যান, বা acurl
এর মতো একটি Apigee ইউটিলিটি।
acurl
এবং curl
সহ এজ এপিআই অ্যাক্সেস করা নিম্নলিখিত বিভাগগুলিতে বর্ণনা করা হয়েছে।
acurl ব্যবহার করুন
acurl
এর সাথে এজ এপিআই অ্যাক্সেস করতে, আপনার প্রাথমিক অনুরোধে অবশ্যই আপনার শংসাপত্র অন্তর্ভুক্ত করতে হবে। এজ OAuth2 পরিষেবা অ্যাক্সেস এবং রিফ্রেশ টোকেনগুলির সাথে প্রতিক্রিয়া জানায়৷ acurl
স্থানীয়ভাবে টোকেন সংরক্ষণ করে।
পরবর্তী অনুরোধে, acurl
~/.sso-cli
এ সংরক্ষিত টোকেনগুলি ব্যবহার করে যাতে টোকেনগুলির মেয়াদ শেষ না হওয়া পর্যন্ত আপনাকে আবার আপনার শংসাপত্রগুলি অন্তর্ভুক্ত করতে না হয়৷
নিম্নলিখিত উদাহরণটি একটি প্রাথমিক acurl
অনুরোধ দেখায় যা "আহমিলটন-ইভাল" সংস্থার বিশদ বিবরণ পায়:
acurl https://api.enterprise.apigee.com/v1/organizations/ahamilton-eval \ -u ahamilton@apigee.com Enter the password for user 'ahamilton@apigee.com'[hidden input]
Enter the six-digit code (no spaces) if 'ahamilton@apigee.com' is MFA-enabled or press ENTER:1a2b3c
{ "createdAt" : 1491854501264, "createdBy" : "noreply_iops@apigee.com", "displayName" : "ahamilton", "environments" : [ "prod", "test" ], "lastModifiedAt" : 1491854501264, "lastModifiedBy" : "noreply_iops@apigee.com", "name" : "ahamilton", "properties" : { "property" : [ { "name" : "features.isSmbOrganization", "value" : "false" }, { "name" : "features.isCpsEnabled", "value" : "true" } ] }, "type" : "trial" }acurl https://api.enterprise.apigee.com/v1/o/ahamilton-eval/apis/helloworld/revisions/1/policies
[ "SOAP-Message-Validation-1", "Spike-Arrest-1", "XML-to-JSON-1" ]
সংস্থা সম্পর্কে বিশদ বিবরণ পাওয়ার পাশাপাশি, এই উদাহরণটি একটি দ্বিতীয় অনুরোধও দেখায় যা "হ্যালোওয়ার্ল্ড" API প্রক্সির মধ্যে নীতিগুলির একটি তালিকা পায়৷ দ্বিতীয় অনুরোধটি URL-এ "অর্গানাইজেশন"-এর জন্য "o" সংক্ষিপ্তকরণ ব্যবহার করে।
মনে রাখবেন যে acurl
স্বয়ংক্রিয়ভাবে দ্বিতীয় অনুরোধে অ্যাক্সেস টোকেন পাস করে। একবার acurl
OAuth2 টোকেন সংরক্ষণ করলে আপনার ব্যবহারকারীর শংসাপত্রগুলি পাস করার দরকার নেই৷ এটি পরবর্তী কলগুলির জন্য ~/.sso-cli
থেকে টোকেন পায়৷
আরও তথ্যের জন্য, এজ এপিআই অ্যাক্সেস করতে acurl ব্যবহার করা দেখুন।
কার্ল ব্যবহার করুন
আপনি এজ এপিআই অ্যাক্সেস করতে curl
ব্যবহার করতে পারেন। এটি করার জন্য, আপনাকে প্রথমে অ্যাক্সেস পেতে হবে এবং টোকেন রিফ্রেশ করতে হবে। আপনি get_token
বা Edge OAuth2 পরিষেবার মতো একটি ইউটিলিটি ব্যবহার করে এগুলি পেতে পারেন। .
আপনি সফলভাবে আপনার অ্যাক্সেস টোকেন সংরক্ষণ করার পরে, আপনি এটিকে আপনার কলগুলির Authorization
শিরোনামে এজ এপিআইতে পাস করবেন, যেমনটি নিম্নলিখিত উদাহরণটি দেখায়:
curl https://api.enterprise.apigee.com/v1/organizations/ahamilton-eval \ -H "Authorization: Bearer ACCESS_TOKEN"
অ্যাক্সেস টোকেন ইস্যু করার পরে 12 ঘন্টার জন্য বৈধ। অ্যাক্সেস টোকেনের মেয়াদ শেষ হওয়ার পরে, শংসাপত্রের প্রয়োজন ছাড়াই অন্য অ্যাক্সেস টোকেন ইস্যু করতে রিফ্রেশ টোকেনটি 30 দিনের জন্য ব্যবহার করা যেতে পারে। Apigee রেফারেশ টোকেনের মেয়াদ শেষ হওয়ার পরেই একটি নতুন অ্যাক্সেস টোকেনের অনুরোধ করার সুপারিশ করে, শংসাপত্রগুলি প্রবেশ করানো এবং প্রতিটি API কলের সাথে একটি নতুন অনুরোধ করার পরিবর্তে।
টোকেনের মেয়াদ শেষ
একবার আপনার অ্যাক্সেস টোকেনের মেয়াদ শেষ হয়ে গেলে, আপনি আবার আপনার শংসাপত্র জমা না দিয়ে একটি নতুন অ্যাক্সেস টোকেন পেতে রিফ্রেশ টোকেন ব্যবহার করতে পারেন।
আপনি কীভাবে আপনার অ্যাক্সেস টোকেন রিফ্রেশ করবেন তা নির্ভর করে আপনি কোন টুল ব্যবহার করছেন তার উপর:
-
acurl
: কোন কর্মের প্রয়োজন নেই।acurl
স্বয়ংক্রিয়ভাবে অ্যাক্সেস টোকেন রিফ্রেশ করে যখন আপনি একটি অনুরোধ পাঠান যাতে একটি পুরানো একটি রয়েছে। -
get_token
: অ্যাক্সেস টোকেন রিফ্রেশ করতেget_token
কল করুন। - এজ OAuth2 পরিষেবা : একটি অনুরোধ পাঠান যাতে রয়েছে:
- টোকেন রিফ্রেশ করুন
-
grant_type
ফর্ম প্যারামিটার "refresh_token" এ সেট করা হয়েছে
মেশিন ব্যবহারকারীদের জন্য OAuth2
আপনি মেশিন ব্যবহারকারীদের জন্য OAuth2 প্রমাণীকরণ সহ Edge API-তে স্বয়ংক্রিয় অ্যাক্সেস স্ক্রিপ্ট করতে acurl
এবং get_token
ইউটিলিটিগুলি ব্যবহার করতে পারেন। নিম্নলিখিত উদাহরণটি দেখায় কিভাবে একটি অ্যাক্সেস টোকেন অনুরোধ করতে get_token
ব্যবহার করতে হয় এবং তারপরে একটি curl
কলে টোকেন মান যুক্ত করতে হয়:
USER=me@example.com
PASS=not-that-secret
TOKEN=$(get_token -u $USER:$PASS -m '')
curl -H "Authorization: Bearer $TOKEN" 'https://api.enterprise.apigee.com/v1/organizations/...'
বিকল্পভাবে, আপনি acurl
ইউটিলিটি ব্যবহার করে টোকেন অনুরোধ এবং curl
কল একত্রিত করতে পারেন। যেমন:
USER=me@example.com
PASS=not-that-secret
acurl -u $USER:$PASS -m '' 'https://api.enterprise.apigee.com/v1/organizations/...'
উভয় উদাহরণেই, -m
এর মান একটি খালি স্ট্রিং-এ সেট করা একজন মেশিন ব্যবহারকারীকে MFA কোডের জন্য অনুরোধ করা থেকে বাধা দেবে।