درحال مشاهده اسناد Apigee Edge هستید.
به
اسناد Apigee X بروید. اطلاعات
SAML از محیط ورود به سیستم یکبار (SSO) پشتیبانی میکند. بااستفاده از SAML با Edge، میتوانید علاوهبر هر سرویس دیگری که ارائه میدهید و از SAML پشتیبانی میکند، از SSO برای Edge UI و API نیز پشتیبانی کنید.
پیشنیاز: قبلاز اینکه بتوانید از آن برای دسترسی به Edge API استفاده کنید، باید SAML را برای حداقل یک سازمان فعال کنید.
تفاوتهای بین SAML و OAuth2
پساز راهاندازی SAML، استفاده از آن بسیار شبیه به استفاده از OAuth2 برای دسترسی به Edge API است. وقتی Edge API را فرا میخوانید، یک کد دسترسی OAuth2 در درخواستتان اضافه میکنید.
تفاوت کلیدی بین SAML و OAuth2 هنگام دسترسی به Edge API در نحوه دریافت نشانها است. با SAML، هنگام دریافت جفت کد باید موارد زیر را اضافه کنید:
- مناطق: کاربران «لبه برای ابر عمومی» باید هنگام دریافت کردن نشانها به نام منطقه خود ارجاع دهند.
- گذرنویسه: هنگام درخواست جفت کد دسترسی/بازآوری، گذرنویسه یکبارمصرف را اضافه کنید.
SAML از همان نقاط پایانی در سرویس Edge OAuth2 استفاده میکند، با این تفاوت که نام منطقه مناسب را اضافه میکند.
برای دریافت کردن کد دسترسی با SAML، میتوانید از یکی از روشهای زیر که در این بخش توضیح داده شده است استفاده کنید:
علاوهبراین، میتوانید فرایند تولید کد دسترسی برای کاربران ماشین را خودکارسازی کنید، همانطور که در خودکارسازی فرایند تولید کد دسترسی توضیح داده شده است.
با get_token کد دسترسی دریافت کنید
میتوانید از ابزار get_token برای تبدیل اعتبارنامههایتان به دسترسی OAuth2 و
ژتونهای بازآوری که با SAML استفاده میکنید استفاده کنید.
برای دریافت کد دسترسی با get_token:
- متغیر محیط
SSO_LOGIN_URLرا روی نشانی وب ورود به سیستم خود تنظیم کنید. نشانی وب ورود به سیستم بهصورت زیر است:https://zoneName.login.apigee.com
برای مثال، برای منطقهای بهنام «acme»،
SSO_LOGIN_URLرا روی «https://acme.login.apigee.com» تنظیم کنید، همانطور که مثال زیر نشان میدهد:export SSO_LOGIN_URL=https://acme.login.apigee.com
- برای دریافت کد دسترسی OAuth2، با
get_tokenتماس بگیرید:get_token -u me@example.com
از شما خواسته میشود برای دریافت گذرنویسه یکبارمصرف به نشانی وب نشاندادهشده بروید:
Get passcode from https://acme.login.apigee.com/passcode [Note: Passcode can be used only time time and expires] Input passcode (no spaces) and then press ENTER:
اگر اخیراً ازطریق ارائهدهنده هویت خود به سیستم وارد نشده باشید، از شما خواسته میشود به سیستم وارد شوید.
این نشانی وب گذرنویسه یکبارمصرفی را برمیگرداند که تا زمانی که آن نشانی وب را برای دریافت گذرنویسه جدید بازآوری کنید معتبر است، یا از گذرنویسه با
get_tokenبرای تولید رمز دسترسی استفاده کنید. برای مثال:
-
گذرنویسه را وارد کنید. ابزار
get_tokenکدهای OAuth2 را دریافت میکند، کد دسترسی را درstdoutچاپ میکند، و کدهای دسترسی و بازآوری را در~/.sso-cliمینویسد. - «میانای برنامهسازی کاربردی Edge» را فراخوانی کنید و کد دسترسی را در
Authorization: Bearerسرصفحه بگذرانید، همانطور که در مثال زیر نشان داده شده است:curl https://api.enterprise.apigee.com/v1/organizations/ahamilton-eval \ -H "Authorization: Bearer ACCESS_TOKEN"
مقدار کد دسترسی را میتوان از
stdoutکپی کرد.این مثال جزئیات سازمان دادهشده را دریافت میکند. برای فهرست کامل نقاط پایانی میانای برنامهسازی کاربردی مدیریت، مرجع میانای برنامهسازی کاربردی Apigee Edge را ببینید.
وقتی کد دسترسی شما منقضی میشود، میتوانید دوباره با get_token تماس بگیرید تا کد دسترسی جدیدی دریافت کنید. برای مثال:
get_token -u me@example.com
تا زمانی که نشان بازآوری منقضی نشده باشد، از شما خواسته نمیشود گذرواژه جدیدی وارد کنید.
وقتی رمز بازآوری منقضی میشود، get_token از شما گذرنویسه جدیدی میخواهد. قبلاز اینکه بتوانید یک کد دسترسی OAuth2 جدید تولید کنید، باید
گذرنویسه جدیدی تولید کنید.
دریافت کدهای دسترسی با سرویس Edge OAuth2
میتوانید از سرویس Edge OAuth2 برای دریافت کدهای دسترسی که با SAML استفاده میکنید استفاده کنید. برای اصالتسنجی خودتان با Edge API، از گذرکد در درخواست اولیه خود برای دریافت جفت کد دسترسی/بازآوری استفاده میکنید و دوباره برای دریافت جفت کد جدید استفاده میکنید.
برای دریافت جفت کد با «میانای برنامهسازی کاربردی Edge»:
- در مرورگر، به نشانی وب زیر بروید تا گذرواژه یکبارمصرف دریافت کنید:
https://zoneName.login.apigee.com/passcode
برای مثال، برای منطقهای بهنام «acme»، به نشانی وب زیر بروید:
https://acme.login.apigee.com/passcode
اگر اخیراً ازطریق ارائهدهنده هویت خود به سیستم وارد نشده باشید، از شما خواسته میشود به سیستم وارد شوید.
این نشانی وب گذرنویسه یکبارمصرفی را برمیگرداند که بهعنوان اطلاعات اعتباری شما برای دریافت نشانها عمل میکند و تا زمانی که نشانی وب را برای دریافت گذرنویسه جدید بازآوری کنید معتبر میماند، یا میتوانید از گذرنویسه با
get_tokenبرای تولید نشان دسترسی استفاده کنید. برای مثال:
- درخواستی به Edge API ارسال کنید، همانطور که در مثال زیر نشان داده شده است:
curl https://zoneName.login.apigee.com/oauth/token \ -s \ -H "Accept: application/json" \ -d 'grant_type=password&response_type=token&passcode=passcode'passcode بهعنوان اطلاعات اعتباری شما برای صدور مجوز عمل میکند.
مکان:
- سرصفحه
Authorizationعبارت است از «Basic ZWRnZWNsaTplZGdlY2xpc2VjcmV0» (از این مقدار دقیق استفاده کنید). - نوع درخواست
POSTاست. - بدنه درخواست شامل موارد زیر است:
-
grant_type«گذرواژه» است. -
response_type«رمز» است. passcodeکه در آن passcode گذرنویسهای است که در مرحله قبلی برگردانده شده است.
-
این تماس کدهای دسترسی و بازآوری را در صفحه چاپ میکند.
- سرصفحه
برای بازآوری کد دسترسی:
درخواستی به https://zoneName.login.apigee.com/oauth/token ارسال کنید،
همانطور که در مثال زیر نشان داده شده است:
curl https://zoneName.login.apigee.com/oauth/token \
-d 'grant_type=refresh_token&refresh_token=REFRESH_TOKEN'مکان:
- بدنه درخواست شامل موارد زیر است:
-
grant_type«refresh_token» است. -
refresh_tokenمقدار ژتون بازآوری است.
-
- سرصفحه
Authorizationعبارت است از «Basic ZWRnZWNsaTplZGdlY2xpc2VjcmV0» (از این مقدار دقیق استفاده کنید). - نوع درخواست
POSTاست.
دسترسی به Edge API با SAML
میتوانید از ابزارهایی مثل curl یا ابزار کمکی Apigee acurl
برای
دسترسی به Edge API استفاده کنید.
با curl، «میانای برنامهسازی کاربردی Edge» را فراخوانی میکنید و رمز دسترسی را در
سرصفحه Authorization: Bearer میگذرانید، همانطور که در مثال زیر نشان داده شده است:
curl https://api.enterprise.apigee.com/v1/organizations/ahamilton-eval \ -H "Authorization: Bearer ACCESS_TOKEN"
با acurl، نیازی نیست سرصفحه Authorization را مشخص کنید. برای مثال:
acurl https://api.enterprise.apigee.com/v1/organizations/ahamilton-eval
این مثالها یک نقطه پایانی Edge API را فرا میخوانند که جزئیات مربوط به سازمان دادهشده را دریافت میکند. برای فهرست کامل نقاط پایانی Edge API، به مرجع Apigee Edge API مراجعه کنید.
برای روشهای دیگر فراخوانی API، ازجمله روشهایی برای اطمینان از اینکه کد شما همیشه تازه است، به دسترسی به Edge API با OAuth2 مراجعه کنید.
کاربران ماشین در مناطق SAML
میتوانید از ابزارهای acurl و get_token برای نوشتن دستورگان دسترسی خودکارسازیشده
به «میاناهای برنامهسازی کاربردی Edge» برای کاربران ماشین در مناطق SAML استفاده کنید.
مثال زیر نحوه استفاده از get_token برای درخواست کردن کد دسترسی و سپس افزودن مقدار کد به تماس curl را نشان میدهد:
USER=me@example.comPASS=not-that-secretTOKEN=$(get_token -u $USER:$PASS -m '' --force-basic-auth)curl -H "Authorization: Bearer $TOKEN" 'https://api.enterprise.apigee.com/v1/organizations/...'
در مثال بالا، تنظیم مقدار -m روی رشته خالی باعث میشود کاربر ماشین
برای دریافت کد «احراز هویت چندعاملی» درخواست نشود. استفاده از پرچم --force-basic-auth پیامواره استاندارد
برای گذرواژه را که با درخواستهای دارای مناطق SAML راهاندازی میشود ملغی میکند.
یا میتوانید درخواست کد و curl تماس را بااستفاده از ابزار acurl ترکیب کنید.
برای مثال:
USER=me@example.comPASS=not-that-secretacurl -u $USER:$PASS -m '' --force-basic-auth 'https://api.enterprise.apigee.com/v1/organizations/...'