شما در حال مشاهده اسناد Apigee Edge هستید.
به مستندات Apigee X بروید . اطلاعات
SAML از یک محیط ورود واحد (SSO) پشتیبانی می کند. با استفاده از SAML با Edge، میتوانید از SSO برای رابط کاربری Edge و API علاوه بر هر سرویس دیگری که ارائه میدهید و همچنین SAML را پشتیبانی میکند، پشتیبانی کنید.
پیش نیاز: باید SAML را برای حداقل یک سازمان فعال کنید تا بتوانید از آن برای دسترسی به Edge API استفاده کنید.
تفاوت بین SAML و OAuth2
هنگامی که SAML راه اندازی شد، استفاده از آن بسیار شبیه به استفاده از OAuth2 برای دسترسی به Edge API است. هنگامی که با Edge API تماس می گیرید، یک نشانه دسترسی OAuth2 را در درخواست خود قرار می دهید.
تفاوت اصلی بین SAML و OAuth2 هنگام دسترسی به Edge API در نحوه دریافت توکن ها است. با SAML، هنگام دریافت جفت توکن خود باید موارد زیر را لحاظ کنید:
- Zones: کاربران Edge برای Public Cloud باید هنگام دریافت توکن به نام منطقه خود اشاره کنند.
- رمز عبور: هنگام درخواست جفت رمز دسترسی/بازخوانی، یک رمز عبور یکبار مصرف را وارد کنید.
SAML از همان نقاط پایانی در سرویس Edge OAuth2 با اضافه کردن نام منطقه مناسب استفاده می کند.
برای دریافت نشانه های دسترسی با SAML، می توانید از یکی از روش های زیر که در این بخش توضیح داده شده است استفاده کنید:
علاوه بر این، میتوانید فرآیند تولید توکن را برای کاربران ماشین خودکار کنید، همانطور که در Automate the Token Process توضیح داده شده است.
توکن های دسترسی را با get_token دریافت کنید
میتوانید از ابزار get_token
برای تبادل اعتبار خود برای دسترسی OAuth2 و بازخوانی نشانههایی که با SAML استفاده میکنید استفاده کنید.
برای دریافت نشانه دسترسی با get_token:
- متغیر محیطی
SSO_LOGIN_URL
را روی URL ورود به سیستم خود تنظیم کنید. 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
از شما خواسته می شود برای دریافت رمز عبور یک بار مصرف، از URL نمایش داده شده بازدید کنید:
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:
اگر اخیراً از طریق ارائه دهنده هویت خود وارد سیستم نشده اید، از شما خواسته می شود که وارد شوید.
این URL یک رمز عبور یک بار مصرف را برمی گرداند که تا زمانی که آن URL را برای به دست آوردن یک رمز عبور جدید بازخوانی نکنید، یا از رمز عبور با
get_token
برای تولید رمز دسترسی استفاده کنید، معتبر باقی می ماند. به عنوان مثال: رمز عبور را وارد کنید. ابزار
get_token
توکنهای OAuth2 را دریافت میکند، نشانه دسترسی را درstdout
چاپ میکند و توکنهای دسترسی و تازهسازی را در~/.sso-cli
مینویسد.- همانطور که در مثال زیر نشان داده شده است، Edge API را فراخوانی کنید و رمز دسترسی را در سربرگ
Authorization: Bearer
ارسال کنید:curl https://api.enterprise.apigee.com/v1/organizations/ahamilton-eval \ -H "Authorization: Bearer ACCESS_TOKEN"
مقدار نشانه دسترسی را می توان از
stdout
کپی کرد.این مثال جزئیات مربوط به سازمان داده شده را دریافت می کند. برای فهرست کامل نقاط پایانی API مدیریت، به مرجع Apigee Edge مراجعه کنید.
هنگامی که نشانه دسترسی شما منقضی شد، می توانید دوباره get_token
برای دریافت رمز دسترسی جدید فراخوانی کنید. به عنوان مثال:
get_token -u me@example.com
تا زمانی که توکن refresh منقضی نشده باشد، از شما درخواست رمز عبور جدید نمی شود.
هنگامی که نشانه رفرش منقضی می شود، get_token
از شما می خواهد یک رمز عبور جدید دریافت کنید. قبل از اینکه بتوانید رمز دسترسی OAuth2 جدیدی ایجاد کنید، باید یک رمز عبور جدید ایجاد کنید.
با سرویس Edge OAuth2 به توکن دسترسی پیدا کنید
میتوانید از سرویس Edge OAuth2 برای دسترسی به نشانههایی که با SAML استفاده میکنید استفاده کنید. برای احراز هویت خود با Edge API، در درخواست اولیه خود از یک رمز عبور برای دریافت یک جفت نشانه دسترسی/رفرش و دوباره برای دریافت یک جفت توکن جدید استفاده می کنید.
برای دریافت یک جفت توکن با API Edge:
- در یک مرورگر، به URL زیر بروید تا یک رمز عبور یک بار مصرف دریافت کنید:
https://zoneName.login.apigee.com/passcode
به عنوان مثال، برای منطقه ای به نام "acme" به آدرس زیر بروید:
https://acme.login.apigee.com/passcode
اگر اخیراً از طریق ارائه دهنده هویت خود وارد سیستم نشده اید، از شما خواسته می شود که وارد شوید.
این URL یک گذرواژه یکبار مصرف را برمیگرداند که به عنوان اعتبارنامه شما برای دریافت نشانهها عمل میکند و تا زمانی که URL را برای دریافت رمز عبور جدید بازخوانی نکنید، معتبر باقی میماند، یا میتوانید از رمز عبور با
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
"token" است. -
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
مقدار توکن refresh است.
-
- سرصفحه
Authorization
"Basic ZWRnZWNsaTplZGdlY2xpc2VjcmV0" است (از این مقدار دقیق استفاده کنید). - نوع درخواست
POST
است.
با SAML به Edge API دسترسی پیدا کنید
برای دسترسی به Edge API می توانید از ابزارهایی مانند curl
یا Apigee convenience utility acurl
استفاده کنید.
همانطور که در مثال زیر نشان میدهد، با curl
، Edge API را فراخوانی میکنید و توکن دسترسی را در هدر 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 Reference مراجعه کنید.
برای روشهای دیگر فراخوانی API، از جمله راههایی برای اطمینان از تازه ماندن رمزتان، به دسترسی به API Edge با OAuth2 مراجعه کنید.
کاربران ماشین در مناطق SAML
میتوانید از ابزارهای acurl
و get_token
برای دسترسی خودکار به APIهای Edge برای کاربران ماشین در مناطق SAML استفاده کنید. مثال زیر نحوه استفاده از get_token
برای درخواست یک نشانه دسترسی و سپس اضافه کردن مقدار توکن به یک فراخوانی curl
نشان میدهد:
USER=me@example.com
PASS=not-that-secret
TOKEN=$(get_token -u $USER:$PASS -m '' --force-basic-auth)
curl -H "Authorization: Bearer $TOKEN" 'https://api.enterprise.apigee.com/v1/organizations/...'
در مثال بالا، تنظیم مقدار -m
به یک رشته خالی از درخواست کد MFA از کاربر ماشین جلوگیری می کند. استفاده از پرچم --force-basic-auth
دستور استاندارد برای رمز عبوری که توسط درخواستهایی با مناطق SAML ایجاد میشود را لغو میکند.
از طرف دیگر، میتوانید درخواست توکن و curl
را با استفاده از ابزار acurl
ترکیب کنید. به عنوان مثال:
USER=me@example.com
PASS=not-that-secret
acurl -u $USER:$PASS -m '' --force-basic-auth 'https://api.enterprise.apigee.com/v1/organizations/...'