درحال مشاهده اسناد Apigee Edge هستید.
به
اسناد Apigee X بروید. اطلاعات
آنچه خواهید آموخت
ازطریق این آموزش، با موارد زیر آشنا میشوید:
- پراکسی میانای برنامهسازی کاربردی ایجاد کنید که به کلید میانای برنامهسازی کاربردی نیاز دارد.
- محصول میانای برنامهسازی کاربردی اضافه کنید.
- توسعهدهندهای اضافه کنید و برنامهای را ثبت کنید.
- میانای برنامهسازی کاربردی خود را با کلید میانای برنامهسازی کاربردی فراخوانی کنید.
محافظت از API دربرابر دسترسی غیرمجاز مهم است. یکی از راههای انجام این کار استفاده از کلیدهای API (که به آنها کلیدهای عمومی، کلیدهای مصرفکننده، یا کلیدهای برنامه نیز گفته میشود) است.
وقتی برنامهای برای میانای برنامهسازی کاربردی شما درخواست میکند، برنامه باید کلید معتبری ارائه دهد. در زمان اجرا، خطمشی «درستیسنجی کلید میانای برنامهسازی کاربردی» بررسی میکند که کلید میانای برنامهسازی کاربردی ارائهشده:
- معتبر است
- لغو نشده باشد
- با کلید میانای برنامهسازی کاربردی برای محصول میانای برنامهسازی کاربردی که منابع درخواستی را نمایان میکند مطابقت دارد
اگر کلید معتبر باشد، درخواست مجاز است. اگر کلید نامعتبر باشد، درخواست منجر به عدم موفقیت در صدور مجوز میشود.
در این آموزش گامبهگام، یک پراکسی میانای برنامهسازی کاربردی ایجاد خواهید کرد که برای دسترسی به آن به کلید میانای برنامهسازی کاربردی معتبر نیاز است.
آنچه نیاز خواهید داشت
- حساب Apigee Edge. اگر هنوز حساب ندارید، میتوانید با دنبال کردن دستورالعملهای ایجاد حساب Apigee Edge ثبتنام کنید.
- مرورگر وب برای انجام فراخوانی میانای برنامهسازی کاربردی.
- (برای بخش امتیاز اضافی، الزامی نیست) cURL نصبشده روی دستگاهتان برای برقراری تماسهای «میانای برنامهسازی کاربردی» از خط فرمان.
ایجاد پراکسی میانای برنامهسازی کاربردی
- به https://apigee.com/edge بروید و به سیستم وارد شوید.
با کلیک کردن روی نام کاربریتان در بالای نوار پیمایش کناری، به سازمان موردنظرتان بروید تا منو نمایه کاربر نمایش داده شود، و سپس سازمان را از فهرست انتخاب کنید.
-
روی پراکسیهای میانای برنامهسازی کاربردی در صفحه مقصد کلیک کنید تا فهرست پراکسیهای میانای برنامهسازی کاربردی نمایش داده شود.
- روی + پراکسی کلیک کنید.

- در صفحه ایجاد پراکسی، پراکسی معکوس (رایجترین) را انتخاب کنید.
- در صفحه جزئیات پراکسی، پراکسی را بهصورت زیر پیکربندی کنید:
در این فیلد این کار را انجام دهید نام پراکسی وارد کنید: helloworld_apikeyمسیر پایه پروژه تغییر به:
/helloapikey«مسیر پایه پروژه» بخشی از نشانی وبی است که برای درخواست به پراکسی میانای برنامهسازی کاربردی استفاده میشود.
توجه: برای توصیههای Apigee درباره نسخهبندی میانای برنامهسازی کاربردی، نسخهبندی را در کتاب الکترونیکی طراحی میانای برنامهسازی کاربردی وب: پیوند گمشده ببینید.
میانای برنامهسازی کاربردی موجود وارد کنید:
http://mocktarget.apigee.netاین عنصر نشانی وب هدفی را تعریف میکند که Apigee Edge در درخواست به پراکسی API فرا میخواند.
شرح وارد کنید: hello world protected by API key - روی بعدی کلیک کنید.
- در صفحه خطمشیهای مشترک، برای امنیت: مجوز، کلید API را انتخاب کنید و سپس روی بعدی کلیک کنید. این کار دو خطمشی به پراکسی API شما اضافه میکند.
- در صفحه میزبانهای مجازی، پیشفرض و
امن را انتخاب کنید و سپس روی بعدی کلیک کنید. انتخاب پیشفرض به شما امکان میدهد
با
http://با میانای برنامهسازی کاربردیتان تماس بگیرید. انتخاب امن، به شما امکان میدهد API خود را باhttps://فراخوانی کنید. - در صفحه خلاصه، مطمئن شوید محیط استقرار آزمایشی انتخاب شده باشد، و سپس روی ایجاد و استقرار کلیک کنید.
- پیامی مبنی بر اینکه پراکسی API جدید و محصول API باموفقیت ایجاد شده است و پراکسی API در محیط آزمایش شما مستقر شده است مشاهده خواهید کرد.
- برای نمایش صفحه نمای کلی برای پراکسی میانای برنامهسازی کاربردی، روی ویرایش پراکسی کلیک کنید.
مشاهده خطمشیها
- در ویرایشگر پراکسی API، روی زبانه توسعه کلیک کنید. خواهید دید که
دو خطمشی به جریان درخواست پراکسی API اضافه شده است:
- بهتأیید رساندن کلید میانای برنامهسازی کاربردی: تماس میانای برنامهسازی کاربردی را بررسی میکند تا مطمئن شود کلید میانای برنامهسازی کاربردی معتبری وجود دارد (بهعنوان پارامتر پُرسمان ارسال میشود).
- حذف پارامتر پُرسمان apikey: خطمشی AssignMessage که کلید API را پساز بررسی حذف میکند، تا در اطراف منتقل نشود و بهطور غیرضروری درمعرض دید قرار نگیرد.
-
روی نماد خطمشی «درستیسنجی کلید API» در نمای جاریسازی کلیک کنید و پیکربندی XML خطمشی را در نمای کد پایین ببینید. عنصر
<APIKey>به خطمشی میگوید هنگام برقراری تماس، کلید میانای برنامهسازی کاربردی را کجا جستجو کند. بهطور پیشفرض، این کلید را بهعنوان پارامتر پُرسمان بهنامapikeyدر درخواست HTTP جستجو میکند:<APIKey ref="request.queryparam.apikey" />
نام
apikeyاختیاری است و میتواند هر داراییای باشد که حاوی کلید API است.
فراخوانی میانای برنامهسازی کاربردی
در این مرحله، مستقیماً با سرویس هدف تماس موفقیتآمیز با میانای برنامهسازی کاربردی برقرار میکنید، سپس با پراکسی میانای برنامهسازی کاربردی تماس ناموفق برقرار میکنید تا ببینید چگونه با خطمشیها محافظت میشود.
-
موفقیتآمیز بود
در مرورگر وب، به نشانی زیر بروید. این سرویس هدفی است که کارگزار میانای برنامهسازی کاربردی برای بازارسال درخواست به آن پیکربندی شده است، اما درحالحاضر مستقیماً به آن دسترسی خواهید داشت:
http://mocktarget.apigee.net
باید این پاسخ موفق را دریافت کنید:
Hello, Guest! -
خرابی
اکنون تلاش کنید کارگزار نیابتی API خود را فراخوانی کنید:
http://ORG_NAME-test.apigee.net/helloapikey
جایگزین کردن
ORG_NAMEبا نام سازمان Edge شما.بدون خطمشی «درستیسنجی کلید میانای برنامهسازی کاربردی»، این تماس همان پاسخ تماس قبلی را به شما میدهد. اما در این مورد، باید پاسخ خطای زیر را دریافت کنید:
{"fault":{"faultstring":"Failed to resolve API Key variable request.queryparam.apikey","detail":{"errorcode":"steps.oauth.v2.FailedToResolveAPIKey"}}}
که بهدرستی به این معنی است که کلید API معتبری (بهعنوان پارامتر پُرسمان) ارسال نکردهاید.
در مراحل بعدی، محصول «میانای برنامهسازی کاربردی» را اضافه خواهید کرد.
افزودن محصول میانای برنامهسازی کاربردی
برای افزودن محصول API بااستفاده از Apigee UI:
- انتشار > محصولات API را انتخاب کنید.
- روی +محصول API کلیک کنید.
جزئیات محصول را برای محصول API خود وارد کنید.
فیلد شرح نام نام داخلی محصول API. نویسههای خاص در نام مشخص نکنید.
توجه: پساز ایجاد محصول API، نمیتوانید نام آن را ویرایش کنید. برای مثال،helloworld_apikey-Product.نام نمایشی نام نمایشی محصول API. نام نمایشی در میانای کاربر استفاده میشود و میتوانید آن را هرزمان بخواهید ویرایش کنید. اگر مشخص نشده باشد، از مقدار «نام» استفاده خواهد شد. این فیلد بااستفاده از مقدار «نام» بهطور خودکار تکمیل میشود؛ میتوانید محتوای آن را ویرایش یا حذف کنید. نام نمایشی میتواند شامل نویسههای خاص باشد. برای مثال، helloworld_apikey-Product.شرح شرح محصول API. برای مثال، Test product for tutorial.محیط زیست محیطهایی که محصول API به آنها اجازه دسترسی میدهد. برای مثال، testیاprod.دسترسی عمومی را انتخاب کنید. تأیید خودکار درخواستهای دسترسی تأیید خودکار درخواستهای کلید برای این محصول «میانای برنامهسازی کاربردی» از هر برنامهای را فعال کنید. سهمیه برای این آموزش گامبهگام نادیده بگیرید. محدودههای OAuth مجاز برای این آموزش گامبهگام نادیده بگیرید. - در بخش منابع API، پراکسی API را که بهتازگی
ایجاد کردهاید انتخاب کنید. برای مثال،
helloworld_apikey. - روی افزودن کلیک کنید.
- در بخش مسیرها، مسیر «/» را اضافه کنید.
- روی افزودن کلیک کنید.
- روی ذخیره کلیک کنید.
در مراحل بعدی، کلید API موردنیاز را دریافت خواهید کرد.
افزودن توسعهدهنده و برنامه به سازمان
در مرحله بعد، گردش کار توسعهدهندهای را که برای استفاده از میاناهای برنامهسازی کاربردی شما ثبتنام میکند شبیهسازی میکنیم. توسعهدهنده یک یا چند برنامه دارد که میاناهای برنامهسازی کاربردی شما را فراخوانی میکنند، و هر برنامه یک کلید میانای برنامهسازی کاربردی منحصربهفرد دریافت میکند. این کار به شما، ارائهدهنده API، کنترل دقیقتری بر دسترسی به APIهایتان و گزارش دقیقتری درباره ترافیک API براساس برنامه میدهد.
ایجاد توسعهدهنده
برای ایجاد توسعهدهنده:
- در منو، انتشار > توسعهدهندگان را انتخاب کنید.
- روی + توسعهدهنده کلیک کنید.
موارد زیر را در پنجره «توسعهدهنده جدید» وارد کنید:
در این فیلد enter نام Keyserنام خانوادگی Sozeنام کاربری keyserایمیل keyser@example.com- روی ایجاد کردن کلیک کنید.
ثبت برنامه
برای ثبت کردن برنامه توسعهدهنده:
- منتشر کردن > برنامهها را انتخاب کنید.
- روی + برنامه کلیک کنید.
موارد زیر را در پنجره برنامه جدید وارد کنید:
pدر این فیلد این کار را انجام دهید نام و نام نمایشی وارد کنید: keyser_appشرکت / توسعهدهنده انتخاب: Developerتوسعهدهنده انتخاب: Keyser Soze (keyser@example.com)نشانی وب تماس برگشتی و یادداشتها خالی بگذارید - در بخش اطلاعات اعتباری، هرگز را از منو انقضا انتخاب کنید. اعتبارنامههای این برنامه هرگز منقضی نخواهد شد.
- در بخش محصولات، روی افزودن محصول کلیک کنید.
- helloworld_apikey-Product را انتخاب کنید.
- روی افزودن کلیک کنید.
- برای ذخیره کردن کارتان، در بالا و سمت چپ بخش جزئیات برنامه روی ایجاد کلیک کنید.
دریافت کلید API
برای دریافت کلید API:
- در صفحه برنامهها (انتشار > برنامهها)، روی keyser_app کلیک کنید.
در صفحه keyser_app، در بخش اطلاعات اعتباری، روی نمایش در کنار کلید کلیک کنید. در بخش محصول، توجه کنید که کلید با helloworld_apikey منسوب است
.
- کلید را انتخاب و کپی کنید. در مرحله بعدی از آن استفاده خواهید کرد.
فراخوانی API با کلید
اکنون که کلید میانای API دارید، میتوانید از آن برای فراخوانی پراکسی API استفاده کنید. موارد زیر را در مرورگر وب خود وارد کنید. نام سازمان Edge خود را بهجای ORG_NAME، و کلید API را بهجای API_KEY در زیر جایگزین کنید. مطمئن شوید که در پارامتر پُرسمان فاصله اضافی وجود نداشته باشد.
http://ORG_NAME-test.apigee.net/helloapikey?apikey=API_KEY
اکنون وقتی کارگزار میانای برنامهسازی کاربردی را فراخوانی میکنید، باید این پاسخ را دریافت کنید:
Hello, Guest!
تبریک! پراکسی میانای برنامهسازی کاربردی ایجاد کردهاید و با ملزم کردن به اینکه کلید میانای برنامهسازی کاربردی معتبری در تماس گنجانده شود از آن محافظت کردهاید.
توجه داشته باشید که بهطورکلی، ارسال کلید API بهعنوان پارامتر پُرسمان روش خوبی نیست. بهتر است آن را در عوض در سرایند HTTP بگذرانید.
روال مطلوب: ارسال کلید در سرصفحه HTTP
در این مرحله، کارگزار پراکسی را تغییر میدهید تا کلید API را در
سرایندی بهنام x-apikey جستجو کند.
- پراکسی میانای برنامهسازی کاربردی را ویرایش کنید. توسعه > پراکسیهای API > helloworld_apikey را انتخاب کنید و به نمای توسعه بروید.
-
خطمشی درستیسنجی کلید API را انتخاب کنید و XML خطمشی را تغییر دهید تا به خطمشی بگویید بهجای
queryparamدرheaderجستجو کند:<APIKey ref="request.header.x-apikey"/>
- برای استقرار تغییر، میانای برنامهسازی کاربردی را ذخیره کنید.
-
تماس API زیر را بااستفاده از cURL برقرار کنید تا کلید API را بهعنوان سرایند
x-apikeyارسال کنید. فراموش نکنید نام سازمانتان را جایگزین کنید.curl -v -H "x-apikey: API_KEY" http://ORG_NAME-test.apigee.net/helloapikey
توجه داشته باشید که برای تکمیل کامل تغییر، باید خطمشی AssignMessage را نیز پیکربندی کنید تا بهجای پارامتر پُرسمان، سرایند را بردارد. برای مثال:
<Remove>
<Headers>
<Header name="x-apikey"/>
</Headers>
</Remove>
موضوعات مرتبط
در اینجا چند موضوع که مستقیماً با این آموزش مرتبط هستند آورده شده است:
- مدیریت محصولات میانای برنامهسازی کاربردی
- کلیدهای API
- ثبت توسعهدهندگان برنامه
- ثبت برنامهها و مدیریت کلیدهای میانای برنامهسازی کاربردی
- VerifyAPIKey خطمشی
- AssignMessage خطمشی
کمی عمیقتر که نگاه کنیم، محافظت از میاناهای برنامهسازی کاربردی با کلیدهای میانای برنامهسازی کاربردی تنها بخشی از داستان است. اغلب، محافظت از میانای برنامهسازی کاربردی شامل امنیت اضافی مثل OAuth میشود.
OAuth یک پروتکل باز است که بهطور خلاصه، اعتبارنامهها (مانند نام کاربری و گذرواژه) را با ژتونهای دسترسی مبادله میکند. کدهای دسترسی رشتههای طولانی و تصادفی هستند که میتوانند در یک خط لوله پیام، حتی از برنامهای به برنامه دیگر، بدون به خطر انداختن اطلاعات اعتباری اصلی منتقل شوند. رمزهای دسترسی اغلب عمر کوتاهی دارند، بنابراین رمزهای جدید همیشه تولید میشوند.