هنگام استفاده از IDP خارجی با Edge API، فرایند استاندارد برای دریافت کدهای دسترسی OIDC/OAuth2
از CLI، جریان کد دستگاه OAuth 2.0 است. با این جریان، از ابزار کمکی get_token استفاده میکنید که از شما میخواهد برای اصالتسنجی ازطریق «ارائهدهنده هویت» (IDP) خود، از نشانی وبی در مرورگر بازدید کنید و سپس بهطور خودکار پایانه شما را رفع انسداد میکند.
بااینحال، محیط توسعه شما ممکن است از خودکارسازی برای وظایف توسعه رایج، مانند خودکارسازی آزمایش یا خطوط لوله CI/CD پشتیبانی کند. برای خودکارسازی این تکالیف هنگام فعال بودن IDP خارجی، به روشی برای دریافت و بازآوری توکنهای OAuth2 بهصورت بیسر و بدون نیاز به تعامل مرورگر نیاز دارید.
Edge از تولید خودکار نشانه ازطریق استفاده از کاربران ماشین بدون سر پشتیبانی میکند. کاربر ماشین میتواند بدون نیاز به مرورگر، ازطریق اعطای گذرواژه استاندارد، کدهای OIDC/OAuth2 را دریافت کند. این یعنی میتوانید فرایند دریافت و بازآوری کردن توکنها را برای اسکریپتهایتان کاملاً خودکار کنید.
ایجاد کاربر ماشین
میتوانید کاربر ماشینی ایجاد کنید که توسط همه سازمانهایتان استفاده شود، یا برای هر سازمان کاربر ماشینی جداگانهای ایجاد کنید.
کاربر ماشین مستقیماً در فهرست راهنمای OpenLDAP محلی ایجاد و ذخیره میشود و بهطور صریح بهعنوان کاربر ماشین (employeeType: machineuser) برچسبگذاری میشود. این کار به Apigee SSO اجازه میدهد تا کاربر ماشین را بهطور ایمن ازطریق اعطای گذرواژه اصالتسنجی کند، حتی زمانیکه SAML/OIDC فدراسیونشده بهطور دقیق برای کاربران انسانی اعمال میشود.
برای دستورالعملهای دقیق درباره ایجاد، فهرست کردن، و مدیریت کاربران ماشین، مدیریت کاربران ماشین با apigee-machineuser.sh را ببینید.
دریافت و بازآوری کردن ژتونهای کاربر ماشین
میتوانید از ابزارهای کمکی get_token و acurl ارائهشده در /opt/apigee/apigee-openldap/bin/، یا curl استاندارد، برای دریافت کردن توکن برای کاربران ماشین استفاده کنید.
- استفاده از ابزارهای کمکی Apigee: بستهبندیهای
get_tokenوacurlبهطور خودکار مدیریت ذخیره موقت نشان، تولید بار، و بازآوری خودکار را انجام میدهند. برای دستورالعملهای دقیق و مثالهایی درباره استفاده از این ابزارها، به استفاده از ابزارهای کمکی get_token و acurl مراجعه کنید. - استفاده از curl استاندارد: اگر اسکریپتهای خودکارسازی شما به پوشانندههای Apigee دسترسی ندارند، میتوانید بااستفاده از فرمانهای استاندارد
curlزیر مستقیماً با «شناسایی یگانه» Apigee تعامل داشته باشید:
برای دریافت و بازآوری کردن ژتونها بااستفاده از curl استاندارد:
- از فراخوانی API زیر برای تولید دسترسی اولیه و بازآوری ژتونها مستقیماً از Apigee SSO استفاده کنید:
curl -H "Content-Type: application/x-www-form-urlencoded;charset=utf-8" \ -H "accept: application/json;charset=utf-8" \ -X POST http://Edge_SSO_IP_DNS:9099/token -s \ -d 'grant_type=password&username=machineUserEmail&password=machineUserPassword&client_id=edgecli&client_secret=edgeclisecret&scope=openid%20profile%20email%20offline_access' - کد دسترسی را به فراخوانی میانای برنامهسازی کاربردی مدیریت Edge در سرصفحه
Authorization: Bearerارسال کنید:curl -H "Authorization: Bearer access_token" \ http://MS_IP_DNS:8080/v1/organizations/org_name
- برای بازآوری کد دسترسی بهصورت بومی در آینده، از فراخوانی زیر که شامل ژتون بازآوری است استفاده کنید:
curl -H "Content-Type:application/x-www-form-urlencoded;charset=utf-8" \ -H "Accept: application/json;charset=utf-8" \ -X POST http://Edge_SSO_IP_DNS:9099/token \ -d 'grant_type=refresh_token&refresh_token=refreshToken&client_id=edgecli&client_secret=edgeclisecret'