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

برای نمایش لیست پروکسیهای API، در صفحه فرود روی API Proxies کلیک کنید.

- روی + پروکسی کلیک کنید.

- در صفحه ایجاد پروکسی ، پروکسی معکوس (رایجترین) را انتخاب کنید.
- در صفحه جزئیات پروکسی ، پروکسی را به صورت زیر پیکربندی کنید:
در این زمینه این کار را انجام دهید نام پروکسی وارد کنید: helloworld_apikeyمسیر پایه پروژه تغییر به:
/helloapikeyمسیر پایه پروژه بخشی از URL است که برای ارسال درخواست به پروکسی API استفاده میشود.
توجه : برای توصیههای Apigee در مورد نسخهبندی API، به کتاب الکترونیکی « نسخهبندی در طراحی API وب: حلقه گمشده » مراجعه کنید.
API موجود وارد شوید:
http://mocktarget.apigee.netاین، URL هدفی را تعریف میکند که Apigee Edge در هنگام درخواست به پروکسی API فراخوانی میکند.
توضیحات وارد کنید: hello world protected by API key - روی بعدی کلیک کنید.
- در صفحه Common Policies ، برای Security: Authorization ، گزینه API Key را انتخاب کنید و سپس روی Next کلیک کنید. این کار دو Policy به API proxy شما اضافه میکند.
- در صفحه میزبانهای مجازی ، پیشفرض و امن را انتخاب کنید و سپس روی بعدی کلیک کنید. انتخاب پیشفرض به شما امکان میدهد API خود را با
http://فراخوانی کنید. انتخاب امن ، به شما امکان میدهد API خود را باhttps://فراخوانی کنید. - در صفحه خلاصه ، مطمئن شوید که محیط استقرار آزمایشی انتخاب شده است، و سپس روی ایجاد و استقرار کلیک کنید.
- شما تأییدیهای مبنی بر اینکه پروکسی API جدید شما و یک محصول API با موفقیت ایجاد شدهاند و پروکسی API در محیط آزمایشی شما مستقر شده است، مشاهده خواهید کرد.
- برای نمایش صفحه مرور کلی برای پروکسی API ، روی ویرایش پروکسی کلیک کنید.
مشاهده سیاستها
- در ویرایشگر پروکسی API، روی برگه «توسعه» کلیک کنید. خواهید دید که دو خطمشی به جریان درخواست پروکسی API اضافه شده است:
- تأیید کلید API: فراخوانی API را بررسی میکند تا مطمئن شود که یک کلید API معتبر وجود دارد (به عنوان پارامتر پرسوجو ارسال میشود).
- حذف پارامتر کوئری apikey: یک سیاست AssignMessage که کلید API را پس از بررسی حذف میکند، به طوری که بیجهت دست به دست نشود و در معرض دید قرار نگیرد.
روی آیکون سیاست تأیید کلید API در نمای جریان کلیک کنید و به پیکربندی XML سیاست در نمای کد پایین نگاه کنید. عنصر
<APIKey>به سیاست میگوید که هنگام برقراری تماس، کجا باید کلید API را جستجو کند. به طور پیشفرض، کلید به عنوان یک پارامتر پرسوجو به نامapikeyدر درخواست HTTP جستجو میشود:<APIKey ref="request.queryparam.apikey" />
نام
apikeyدلخواه است و میتواند هر ویژگیای باشد که حاوی کلید API باشد.
سعی کنید API را فراخوانی کنید
در این مرحله، شما یک فراخوانی API موفق را مستقیماً به سرویس هدف انجام میدهید، سپس یک فراخوانی ناموفق به پروکسی API انجام میدهید تا ببینید که چگونه توسط سیاستها محافظت میشود.
موفقیت
در یک مرورگر وب، به آدرس زیر بروید. این سرویس هدفی است که پروکسی API برای ارسال درخواست به آن پیکربندی شده است، اما فعلاً مستقیماً به آن مراجعه خواهید کرد:
http://mocktarget.apigee.net
شما باید این پاسخ موفقیتآمیز را دریافت کنید:
Hello, Guest!شکست
حالا سعی کنید پروکسی API خود را فراخوانی کنید:
http://ORG_NAME-test.apigee.net/helloapikey
به جای
ORG_NAME، نام سازمان Edge خود را قرار دهید.بدون سیاست تأیید کلید API، این فراخوانی همان پاسخ فراخوانی قبلی را به شما میدهد. اما در این حالت، باید پاسخ خطای زیر را دریافت کنید:
{"fault":{"faultstring":"Failed to resolve API Key variable request.queryparam.apikey","detail":{"errorcode":"steps.oauth.v2.FailedToResolveAPIKey"}}}
که به طور صحیح یعنی شما یک کلید API معتبر (به عنوان پارامتر پرس و جو) ارسال نکردهاید.
در مراحل بعدی، یک محصول API اضافه خواهید کرد.
افزودن محصول API
برای افزودن یک محصول API با استفاده از رابط کاربری Apigee:
- انتشار > محصولات API را انتخاب کنید.
- روی +محصول API کلیک کنید.
جزئیات محصول را برای محصول API خود وارد کنید.
میدان توضیحات نام نام داخلی محصول API. کاراکترهای خاص را در نام مشخص نکنید.
توجه: پس از ایجاد محصول API، نمیتوانید نام را ویرایش کنید. برای مثال،helloworld_apikey-Product.نام نمایشی نام نمایشی برای محصول API. نام نمایشی در رابط کاربری استفاده میشود و میتوانید آن را در هر زمانی ویرایش کنید. در صورت مشخص نکردن، از مقدار Name استفاده خواهد شد. این فیلد به طور خودکار با استفاده از مقدار Name پر میشود؛ میتوانید محتوای آن را ویرایش یا حذف کنید. نام نمایشی میتواند شامل کاراکترهای ویژه باشد. به عنوان مثال، helloworld_apikey-Product.توضیحات شرح محصول API. به عنوان مثال، Test product for tutorial.محیط زیست محیطهایی که محصول API اجازه دسترسی به آنها را میدهد. برای مثال، testیاprod.دسترسی عمومی را انتخاب کنید. درخواستهای دسترسی را بهطور خودکار تأیید کنید تأیید خودکار درخواستهای کلیدی برای این محصول API را از هر برنامهای فعال کنید. سهمیه این آموزش را نادیده بگیرید. محدودههای مجاز OAuth این آموزش را نادیده بگیرید. - در بخش منابع API، پروکسی API که ایجاد کردهاید را انتخاب کنید. برای مثال،
helloworld_apikey. - روی افزودن کلیک کنید.
- در بخش مسیرها ، مسیر "/" را اضافه کنید.
- روی افزودن کلیک کنید.
- روی ذخیره کلیک کنید.
در مراحل بعدی، کلید API مورد نیاز را دریافت خواهید کرد.
یک توسعهدهنده و برنامه به سازمان خود اضافه کنید
در مرحله بعد، ما قصد داریم گردش کار یک توسعهدهنده را که برای استفاده از API های شما ثبت نام میکند، شبیهسازی کنیم. یک توسعهدهنده یک یا چند برنامه خواهد داشت که API های شما را فراخوانی میکنند و هر برنامه یک کلید API منحصر به فرد دریافت میکند. این به شما، به عنوان ارائهدهنده API، کنترل دقیقتری بر دسترسی به API های شما و گزارش دقیقتری در مورد ترافیک API بر اساس برنامه میدهد.
یک توسعهدهنده ایجاد کنید
برای ایجاد یک توسعهدهنده:
- از منو، گزینه انتشار > توسعهدهندگان را انتخاب کنید.
- روی + توسعهدهنده کلیک کنید.
در پنجره New Developer موارد زیر را وارد کنید:
در این زمینه وارد شوید نام Keyserنام خانوادگی Sozeنام کاربری keyserایمیل keyser@example.com- روی ایجاد کلیک کنید.
ثبت یک برنامه
برای ثبت یک برنامه توسعهدهنده:
- انتشار > برنامهها را انتخاب کنید.
- روی + برنامه کلیک کنید.
در پنجره New App موارد زیر را وارد کنید:
در این زمینه این کار را انجام دهید صنام و نام نمایشی وارد کنید: keyser_appشرکت / توسعهدهنده انتخاب کنید: Developerتوسعهدهنده انتخاب کنید: Keyser Soze (keyser@example.com)آدرس اینترنتی و یادداشتهای مربوط به فراخوانی مجدد خالی بگذارید - در بخش اعتبارنامهها ، از منوی انقضا ، گزینهی «هرگز» را انتخاب کنید. اعتبارنامههای این برنامه هرگز منقضی نمیشوند.
- در قسمت محصولات ، روی افزودن محصول کلیک کنید.
- helloworld_apikey-Product را انتخاب کنید.
- روی افزودن کلیک کنید.
- برای ذخیره کار خود، روی «ایجاد» در بالا و سمت راست بخش «جزئیات برنامه» کلیک کنید.
دریافت کلید API
برای دریافت کلید API:
- در صفحه برنامهها ( Publish > Apps )، روی keyser_app کلیک کنید.
در صفحه keyser_app ، در بخش Credentials روی Show در کنار Key کلیک کنید. در بخش Product ، توجه داشته باشید که کلید با helloworld_apikey مرتبط است.
.

- کلید را انتخاب و کپی کنید. در مرحله بعدی از آن استفاده خواهید کرد.
فراخوانی API با یک کلید
اکنون که یک کلید API دارید، میتوانید از آن برای فراخوانی پروکسی API استفاده کنید. عبارت زیر را در مرورگر وب خود وارد کنید. نام سازمان Edge خود را به جای ORG_NAME و کلید API را به جای API_KEY در زیر قرار دهید. مطمئن شوید که هیچ فاصله اضافی در پارامتر پرس و جو وجود ندارد.
http://ORG_NAME-test.apigee.net/helloapikey?apikey=API_KEY
حالا وقتی پروکسی API را فراخوانی میکنید، باید این پاسخ را دریافت کنید: Hello, Guest!
تبریک! شما یک پروکسی API ایجاد کردهاید و با الزام به درج یک کلید API معتبر در فراخوانی، از آن محافظت کردهاید.
توجه داشته باشید که به طور کلی، ارسال کلید API به عنوان پارامتر کوئری روش خوبی نیست. در عوض، باید ارسال آن را در هدر HTTP در نظر بگیرید.
بهترین روش: ارسال کلید در هدر HTTP
در این مرحله، پروکسی را طوری تغییر میدهید که به دنبال کلید API در هدری به نام x-apikey بگردد.
- پروکسی API را ویرایش کنید. Develop > API Proxies > helloworld_apikey را انتخاب کنید و به نمای Develop بروید.
سیاست Verify API Key را انتخاب کنید و XML سیاست را طوری تغییر دهید که به سیاست بگوید به جای
queryparamدرheaderجستجو کند:<APIKey ref="request.header.x-apikey"/>
- پروکسی API را برای اعمال تغییر ذخیره کنید .
با استفاده از cURL، فراخوانی API زیر را انجام دهید تا کلید API به عنوان هدری به نام
x-apikeyارسال شود. فراموش نکنید که نام سازمان خود را جایگزین کنید.curl -v -H "x-apikey: API_KEY" http://ORG_NAME-test.apigee.net/helloapikey
توجه داشته باشید که برای تکمیل کامل تغییر، باید سیاست AssignMessage را طوری پیکربندی کنید که به جای پارامتر query، هدر را حذف کند. برای مثال:
<Remove>
<Headers>
<Header name="x-apikey"/>
</Headers>
</Remove>
مباحث مرتبط
در اینجا به برخی از مباحثی که مستقیماً به این آموزش مربوط میشوند، اشاره میکنیم:
- مدیریت محصولات API
- کلیدهای API
- ثبت نام توسعه دهندگان اپلیکیشن
- ثبت برنامهها و مدیریت کلیدهای API
- سیاست تأیید APIKey
- سیاست اختصاص پیام
اگر کمی عمیقتر شویم، محافظت از APIها با کلیدهای API تنها بخشی از داستان است. اغلب اوقات، محافظت از API شامل امنیت اضافی مانند OAuth میشود.
OAuth یک پروتکل باز است که به طور خلاصه، اعتبارنامهها (مانند نام کاربری و رمز عبور) را با توکنهای دسترسی مبادله میکند. توکنهای دسترسی رشتههای طولانی و تصادفی هستند که میتوانند در یک خط لوله پیام، حتی از برنامهای به برنامه دیگر، بدون به خطر انداختن اعتبارنامههای اصلی، منتقل شوند. توکنهای دسترسی اغلب عمر کوتاهی دارند، بنابراین توکنهای جدید همیشه در حال تولید هستند.
جز در مواردی که غیر از این ذکر شده باشد،محتوای این صفحه تحت مجوز Creative Commons Attribution 4.0 License است. نمونه کدها نیز دارای مجوز Apache 2.0 License است. برای اطلاع از جزئیات، به خطمشیهای سایت Google Developers مراجعه کنید. جاوا علامت تجاری ثبتشده Oracle و/یا شرکتهای وابسته به آن است.
تاریخ آخرین بهروزرسانی 2026-08-27 بهوقت ساعت هماهنگ جهانی.