اصالتسنجی پایه یکی از روشهای اصالتسنجی هنگام تماس با «میانای برنامهسازی کاربردی مدیریت Edge» است.
برای مثال، میتوانید درخواست curl زیر را به Edge management API ارسال کنید تا به
اطلاعات سازمانتان دسترسی پیدا کنید:
curl -u USER_NAME:PASSWORD https://MS_IP_DNS:8080/v1/organizations/ORG_NAME
در این مثال، از گزینه curl -u برای انتقال اعتبارنامههای اصالتسنجی «پایه» استفاده میکنید. همچنین میتوانید یک کد OAuth2 را در سرصفحه Bearer ارسال کنید تا تماسهای Edge management API برقرار کنید، همانطور که در مثال زیر نشان داده شده است:
curl -H "Authorization: Bearer ACCESS_TOKEN" https://MS_IP_DNS:8080/v1/organizations/ORG_NAME
پساز فعال کردن «ارائهدهنده هویت» خارجی برای اصالتسنجی، میتوانید اصالتسنجی «پایه» را بهصورت اختیاری غیرفعال کنید. اگر اصالتسنجی «پایه» را غیرفعال کنید، همه دستورگانها (مثل Maven، پوسته، و apigeetool) که به فراخوانهای Edge management API پشتیبان اصالتسنجی «پایه» متکی هستند دیگر کار نخواهند کرد. باید هرگونه فراخوانی API و دستورگانی را که از اصالتسنجی «پایه» برای انتقال دادن
کدهای دسترسی OAuth2 در سرایند Bearer استفاده میکنند بهروز کنید.
دریافت و بازآوری کردن کدها با get_token
برنامه کمکی get_token اعتبارنامههای اصالتسنجی «پایه» شما (و در برخی موارد گذررمز) را با ژتون دسترسی و بازآوری OAuth2 مبادله میکند. برنامه کمکی get_token اعتبارنامههای شما را میپذیرد و یک کد دسترسی معتبر برمیگرداند. اگر کد قابل بازآوری باشد، ابزار آن را بازآوری میکند
و برمیگرداند. اگر کد نوسازی منقضی شود، اطلاعات اعتباری کاربر درخواست میشود.
برنامه کمکی get_token نشانها را روی دیسک ذخیره میکند تا درصورت نیاز آماده استفاده باشند. همچنین کد دسترسی معتبری را برای stdout چاپ میکند. از آنجا میتوانید از افزونه مرورگر مثل
Postman استفاده کنید یا آن را در متغیر محیطی برای استفاده در curl جاسازی کنید.
برای دریافت کد دسترسی OAuth2 برای انجام تماسهای Edge management API:
- بسته
sso-cliرا بارگیری کنید:curl http://EDGE_SSO_IP_DNS:9099/resources/scripts/sso-cli/ssocli-bundle.zip -o "ssocli-bundle.zip"
که در آن EDGE_SSO_IP_DNS نشانی IP یا نام ساناد دستگاه میزبان واحد Apigee SSO است. اگر «امنیت لایه انتقال» را در Apigee SSO پیکربندی کردهاید، از
httpsو شماره درگاه صحیح «امنیت لایه انتقال» استفاده کنید. - بسته
ssocli-bundle.zipرا از حالت فشرده خارج کنید، همانطور که در مثال زیر نشان داده شده است:unzip ssocli-bundle.zip
-
get_tokenرا در/usr/local/binنصب کنید، همانطور که در مثال زیر نشان داده شده است:./install -b PATH
گزینه
-bمکان دیگری را مشخص میکند. - متغیر محیطی
SSO_LOGIN_URLرا در قالب زیر روی نشانی وب ورود به سیستم تنظیم کنید:export SSO_LOGIN_URL="http://EDGE_SSO_IP_DNS:9099"
که در آن EDGE_SSO_IP_DNS نشانی IP ماشینی است که واحد Apigee SSO را میزبانی میکند. اگر «امنیت لایه انتقال» را در Apigee SSO پیکربندی کردهاید، از
httpsو شماره درگاه «امنیت لایه انتقال» صحیح استفاده کنید. - (فقط SAML) در مرورگر، به نشانی وب زیر بروید تا گذرنویسه یکبار مصرف دریافت کنید:
http://EDGE_SSO_IP_DNS:9099/passcode
اگر «امنیت لایه انتقال» را در Apigee SSO پیکربندی کردهاید، از
httpsو شماره درگاه «امنیت لایه انتقال» صحیح استفاده کنید.این درخواست گذرنویسه یکبارمصرفی را برمیگرداند که تا زمانی که آن نشانی وب را برای دریافت گذرنویسه جدید بازآوری کنید یا از گذرنویسه با
get_tokenبرای تولید کردن رمز دسترسی استفاده کنید معتبر میماند.توجه داشته باشید که فقط هنگام اصالتسنجی با SAML IDP میتوانید از گذررمز استفاده کنید. نمیتوانید از گذررمز برای اصالتسنجی با «ارائهدهنده هویت» LDAP استفاده کنید.
- همانطور که در مثال زیر نشان داده شده است،
get_tokenرا فراخوانی کنید تا کد دسترسی OAuth2 را دریافت کنید:get_token -u EMAIL_ADDRESS
که در آن EMAIL_ADDRESS نشانی ایمیل کاربر Edge است.
(فقط SAML) گذرنویسه را علاوهبر نشانی ایمیل در خط فرمان وارد کنید، همانطور که در مثال زیر نشان داده شده است:
get_token -u EMAIL_ADDRESS -p PASSCODE
برنامه کمکی
get_tokenکد دسترسی OAuth2 را دریافت میکند، آن را در صفحه چاپ میکند، و آن را بههمراه کد بازآوری در~/.sso-cliمینویسد. - گذراندن کد دسترسی به یک فراخوانی Edge management API بهعنوان سرایند
Bearer، همانطور که مثال زیر نشان میدهد:curl -H "Authorization: Bearer ACCESS_TOKEN" https://MS_IP:8080/v1/organizations/ORG_NAME
- پساز دریافت اولین کد دسترسی جدید، میتوانید کد دسترسی را دریافت کنید و
آن را در یک فرمان به یک فراخوانی API ارسال کنید، همانطور که در مثال زیر نشان داده شده است:
header=`get_token` && curl -H "Authorization: Bearer $header" https://MS_IP:8080/v1/o/ORG_NAME
با این شکل فرمان، اگر دادهواحد دسترسی منقضی شده باشد، بهطور خودکار تا زمانی که دادهواحد بازآوری منقضی شود بازآوری میشود.
(فقط SAML) پساز منقضی شدن کد بازآوری، get_token از شما گذرواژه جدیدی میخواهد. قبلاز اینکه بتوانید
رمز عبور جدیدی تولید کنید، باید به نشانی وب نشاندادهشده در مرحله ۳ در بالا پیمایش کنید و رمز عبور جدیدی تولید کنید.
از میانای برنامهسازی کاربردی مدیریت برای دریافت و بازآوری کردن نشانها استفاده کنید
استفاده از امنیت OAuth2 با Apigee Edge management API نحوه استفاده از Edge management API برای دریافت و بازآوری نشانها را نشان میدهد. همچنین میتوانید از فراخوانیهای Edge API برای دریافت نشانهای تولیدشده از ادعاهای SAML استفاده کنید.
تنها تفاوت بین فراخوانیهای «میانای برنامهسازی کاربردی» مستندشده در استفاده از امنیت OAuth2 با «میانای برنامهسازی کاربردی مدیریت Apigee Edge» این است که نشانی وب فراخوانی باید به نام منطقه شما ارجاع دهد. علاوهبراین، برای تولید کردن کد دسترسی اولیه با SAML IDP، باید گذرنویسه را، همانطور که در مرحله ۳ رویه بالا نشان داده شده است، اضافه کنید.
برای صدور مجوز، اعتبارنامه کارخواه OAuth2 رزروشدهای را در سرصفحه Authorization
ارسال کنید. این تماس کدهای دسترسی و بازآوری را در صفحه چاپ میکند.
دریافت کد دسترسی
(LDAP) از فراخوانی API زیر برای تولید کردن دسترسی اولیه و کدهای بازآوری استفاده کنید:
curl -H "Content-Type: application/x-www-form-urlencoded;charset=utf-8" \ -H "accept: application/json;charset=utf-8" \ -H "Authorization: Basic ZWRnZWNsaTplZGdlY2xpc2VjcmV0" -X POST \ http://EDGE_SSO_IP_DNS:9099/oauth/token -s \ -d 'grant_type=password&username=USER_EMAIL&password=USER_PASSWORD'
(SAML) از فراخوانی API زیر برای تولید نشانههای دسترسی اولیه و بازآوری استفاده کنید:
curl -H "Content-Type: application/x-www-form-urlencoded;charset=utf-8" \ -H "accept: application/json;charset=utf-8" \ -H "Authorization: Basic ZWRnZWNsaTplZGdlY2xpc2VjcmV0" -X POST \ https://EDGE_SSO_IP_DNS:9099/oauth/token -s \ -d 'grant_type=password&response_type=token&passcode=PASSCODE'
توجه داشته باشید که اصالتسنجی با «ارائهدهنده هویت» SAML به گذرنویسه موقت نیاز دارد، اما «ارائهدهنده هویت» LDAP به آن نیاز ندارد.
بازآوری کد دسترسی
برای بازآوری کد دسترسی در آینده، از تماس زیر که شامل کد بازآوری است استفاده کنید:
curl -H "Content-Type:application/x-www-form-urlencoded;charset=utf-8" \ -H "Accept: application/json;charset=utf-8" \ -H "Authorization: Basic ZWRnZWNsaTplZGdlY2xpc2VjcmV0" -X POST \ https://EDGE_SSO_IP_DNS:9099/oauth/token \ -d 'grant_type=refresh_token&refresh_token=REFRESH_TOKEN'