การใช้ Acurl

คุณกำลังดูเอกสารประกอบของ Apigee Edge
ไปที่ เอกสารประกอบของ Apigee X
info

ยูทิลิตี acurl(1) มี Wrapper ที่สะดวกสำหรับการเรียกใช้คำสั่ง curl มาตรฐาน acurl

  • แลกเปลี่ยนข้อมูลเข้าสู่ระบบ Apigee ของคุณเป็นโทเค็นเพื่อการเข้าถึง OAuth2
  • ตรวจหาเมื่อโทเค็นเพื่อการเข้าถึงหมดอายุ และใช้โทเค็นการรีเฟรชเพื่อรับโทเค็นเพื่อการเข้าถึงใหม่
  • ส่งโทเค็นนั้นในส่วนหัว Authorization ของคำขอ API

คุณใช้โทเค็นเพื่อการเข้าถึงเพื่อเรียกปลายทาง Edge API ด้วย OAuth2 ซึ่งรวมถึง เวิร์กโฟลว์ LDAP และ SAML

หากคุณใช้ OAuth2 เพื่อเข้าถึง Edge API แต่ไม่ได้ใช้ acurl คุณจะต้องรับโทเค็นเพื่อการเข้าถึงและเพิ่มโทเค็นนั้นลงในส่วนหัวของคำขอ API ด้วยตนเอง วิธีหนึ่งในการรับโทเค็นเพื่อการเข้าถึงคือการใช้ยูทิลิตี get_token

ติดตั้ง acurl

คุณต้อง ติดตั้ง acurl ก่อนจึงจะใช้งานได้

ไวยากรณ์ acurl

ยูทิลิตี acurl ใช้ไวยากรณ์ต่อไปนี้

acurl API_URL -u USERNAME:PASSWORD [-m MFACODE]

หรือ

acurl API_URL -p PASSCODE

โดยที่

ตัวเลือก จำเป็นหรือไม่ คำอธิบาย
API_URL จำเป็น ปลายทาง Apigee Edge API ดูรายการปลายทางทั้งหมดได้ที่ ข้อมูลอ้างอิง Apigee Edge API
USERNAME ไม่บังคับ ต้องระบุชุดชื่อผู้ใช้และรหัสผ่านหรือรหัสผ่านแบบใช้ครั้งเดียว ชื่อผู้ใช้ Apigee ซึ่งโดยปกติจะเป็นอีเมลที่เชื่อมโยงกับบัญชี Apigee คุณต้องส่งชื่อผู้ใช้หรือรหัสผ่านแบบใช้ครั้งเดียวเมื่อเรียกใช้ get_token เป็นครั้งแรก คุณจะไม่ต้องส่งอีเมล อีกครั้งจนกว่าโทเค็นเพื่อการเข้าถึงและโทเค็นการรีเฟรชจะหมดอายุ หากคุณแคชโทเค็น สำหรับผู้ใช้มากกว่า 1 ราย คุณต้องระบุชื่อผู้ใช้ในการเรียกใช้แต่ละครั้ง
PASSWORD ไม่บังคับ ต้องระบุชุดชื่อผู้ใช้และรหัสผ่านหรือรหัสผ่านแบบใช้ครั้งเดียว รหัสผ่านสำหรับบัญชี Apigee หากไม่ระบุรหัสผ่าน ระบบจะแจ้งให้คุณป้อนรหัสผ่านเมื่อใช้ acurl เป็นครั้งแรก และในการเรียกใช้ครั้งต่อๆ ไปโดยไม่มีโทเค็นการรีเฟรชที่ถูกต้อง หากไม่ต้องการใช้รหัสผ่านโดยตรงในคำสั่ง คุณสามารถใช้รหัสผ่านแบบใช้ครั้งเดียวแทนรหัสผ่านได้
MFACODE ไม่บังคับ รหัสการตรวจสอบสิทธิ์แบบ หลายปัจจัย (MFA) แบบ 6 หลักชั่วคราว คุณต้องระบุรหัสนี้หากใช้ -u และเปิดใช้ MFA ระบบจะแจ้งให้คุณป้อนรหัสหากไม่ระบุ (ยกเว้นในโหมดรหัสผ่านแบบใช้ครั้งเดียว) หากไม่ได้เปิดใช้ MFA หรือมีโฟลว์ที่เขียนสคริปต์ไว้ คุณสามารถระบุ -m "" เพื่อหลีกเลี่ยงการแจ้งให้ป้อนรหัส
PASSCODE ไม่บังคับ ต้องระบุชุดชื่อผู้ใช้และรหัสผ่านหรือรหัสผ่านแบบใช้ครั้งเดียว รหัสผ่านแบบใช้งานครั้งเดียวที่คุณใช้แทน รหัสผ่านได้ คุณต้องระบุรหัสผ่านแบบใช้ครั้งเดียวเมื่อตรวจสอบสิทธิ์ด้วย SAML IDP และอาจใช้ เพื่อตรวจสอบสิทธิ์ด้วย LDAP IDP

เช่น

acurl https://api.enterprise.apigee.com/v1/organizations/ahamilton-eval
acurl https://api.enterprise.apigee.com/v1/organizations/ahamilton-eval -u ahamilton@apigee.com
acurl https://api.enterprise.apigee.com/v1/organizations/ahamilton-eval -u ahamilton@apigee.com -p 424242
acurl https://api.enterprise.apigee.com/v1/organizations/ahamilton-eval -u ahamilton@apigee.com:mypassw0rd
acurl https://api.enterprise.apigee.com/v1/organizations/ahamilton-eval -u ahamilton@apigee.com:mypassw0rd -m 123456

นอกจากตัวเลือกที่แสดงด้านบนแล้ว acurl ยังยอมรับตัวเลือก curl ทั้งหมดด้วย เช่น คุณสามารถส่งส่วนหัว ระบุ HTTP Verb เพิ่มเนื้อหา และเปิดใช้ Verbosity ได้โดยใช้ตัวเลือก curl มาตรฐาน ดังนี้

ตัวเลือก acurl meaning curl meaning
-u username username
-m MFA code max time (ต้องใช้รูปแบบยาว --max-time)
-p passcode proxy tunnel (ต้องใช้รูปแบบยาว --proxytunnel)
-v verbose verbose
-h help help (ต้องใช้รูปแบบยาว --help)
acurl -v -X POST -H 'Content-Type: application/json' \
    https://api.enterprise.apigee.com/v1/organizations/ahamilton-eval/apiproducts/myproduct/attributes/attr \
    -u ahamilton@apigee.com -d '{"value":42}'

การเรียกใช้ acurl ที่สำเร็จจะแสดงผลลัพธ์ตามปลายทาง Edge API ที่คุณ เรียกใช้ นอกจากนี้ acurl ยังจัดเก็บทั้งโทเค็นเพื่อการเข้าถึงและโทเค็นการรีเฟรช ไว้ใน ~/.sso-cli

คุณสามารถเรียกใช้ต่อไปได้โดยไม่ต้องป้อนข้อมูลเข้าสู่ระบบ (รหัสผ่านและ MFA ที่ไม่บังคับ หรือรหัสผ่านแบบใช้ครั้งเดียว) จนกว่าทั้งโทเค็นเพื่อการเข้าถึงและ โทเค็นการรีเฟรชจะหมดอายุตามที่อธิบายไว้ในหัวข้อการหมดอายุของโทเค็น

ย้ายข้อมูลจาก curl

หากคุณใช้ curl การย้ายข้อมูลไปยังยูทิลิตี acurl เป็นเรื่องง่ายและ ช่วยลดความจำเป็นในการเข้ารหัสข้อมูลเข้าสู่ระบบด้วยตนเอง เมื่อดาวน์โหลดและติดตั้งยูทิลิตีแล้ว คุณสามารถ แทนที่

curl -u username
ด้วย
acurl -u username

ยูทิลิตี acurl จะเข้ารหัสข้อมูลเข้าสู่ระบบของคุณ และแจ้งให้คุณป้อนข้อมูลเข้าสู่ระบบเพิ่มเติมที่จำเป็นเพื่อรับโทเค็นคู่ใหม่เป็นครั้งคราว

นอกจากนี้ คุณยังใช้ยูทิลิตี acurl เพื่อแทนที่ curl สำหรับผู้ใช้ที่เป็นเครื่องได้ด้วย ดูข้อมูลเพิ่มเติมได้ที่ ดู OAuth2 สำหรับผู้ใช้ที่เป็นเครื่อง และ ผู้ใช้ที่เป็นเครื่องในโซน SAML

เรียกใช้ acurl เป็นครั้งแรก

เมื่อเรียกใช้ API ด้วย acurl เป็นครั้งแรก คุณต้องระบุข้อมูลเข้าสู่ระบบ Apigee (ชื่อผู้ใช้และรหัสผ่านของบัญชี Apigee หรือรหัสผ่านแบบใช้ครั้งเดียว) เพื่อให้ acurl แลกเปลี่ยนข้อมูลดังกล่าวเป็นโทเค็นเพื่อการเข้าถึงและโทเค็นการรีเฟรชได้

ตัวอย่างต่อไปนี้แสดงการเรียกใช้ acurl ครั้งแรกเพื่อดูรายละเอียดเกี่ยวกับองค์กรโดยใช้ปลายทาง Get organization

acurl https://api.enterprise.apigee.com/v1/organizations/ahamilton-eval \
  -u ahamilton@apigee.com
Enter the password for user 'ahamilton@apigee.com':
[hidden input]
Enter the six-digit code (no spaces) if 'ahamilton@apigee.com' is MFA-enabled or press ENTER:
1a2b3c
{
  "createdAt" : 1491854501264,
  "createdBy" : "noreply_iops@apigee.com",
  "displayName" : "ahamilton",
  "environments" : [ "prod", "test" ],
  "lastModifiedAt" : 1491854501264,
  "lastModifiedBy" : "noreply_iops@apigee.com",
  "name" : "ahamilton",
  "properties" : {
    "property" : [ {
      "name" : "features.isSmbOrganization",
      "value" : "false"
    }, {
      "name" : "features.isCpsEnabled",
      "value" : "true"
    } ]
  },
  "type" : "trial"
}

ยูทิลิตี acurl จะรับโทเค็นเพื่อการเข้าถึงและแทรกลงในการเรียกใช้ปลายทาง Edge API

curl -H "Authorization: Bearer oauth2_access_token" ...

ระบบจะจัดเก็บโทเค็นเพื่อการเข้าถึงไว้ใน ~/.sso-cli ในเครื่องและใช้สำหรับการเรียกใช้ครั้งต่อๆ ไป

หลังจากโทเค็นเพื่อการเข้าถึงหมดอายุ acurl จะใช้โทเค็นการรีเฟรชเพื่อรับ โทเค็นเพื่อการเข้าถึงใหม่โดยอัตโนมัติ เมื่อโทเค็นการรีเฟรชหมดอายุ acurl จะแจ้งให้คุณ ป้อนข้อมูลเข้าสู่ระบบ Apigee

คำขอนี้จะแสดงรายละเอียดเกี่ยวกับองค์กร "ahamilton-eval" ดูรายการปลายทาง Edge API ทั้งหมดได้ที่ ข้อมูลอ้างอิง Apigee Edge API


(1) Copyright 2023 Google LLC
เครื่องมือ acurl พร้อมให้ใช้งานเป็น "ซอฟต์แวร์" ภายใต้ ข้อตกลงที่ควบคุมการใช้งาน Google Cloud Platform รวมถึงข้อกำหนด เฉพาะบริการซึ่งระบุไว้ที่ https://cloud.google.com/terms/service-terms.