ใช้ SAML กับ Edge Management API

การตรวจสอบสิทธิ์พื้นฐานเป็นวิธีตรวจสอบสิทธิ์วิธีหนึ่งเมื่อเรียกใช้ Edge Management API สำหรับ ตัวอย่างเช่น คุณสามารถส่งคำขอ cURL ต่อไปนี้ไปยัง Edge Management API เพื่อเข้าถึงข้อมูล เกี่ยวกับองค์กรของคุณ

curl -u userName:pWord https://ms_IP_DNS:8080/v1/organizations/orgName

ในตัวอย่างนี้ คุณใช้ตัวเลือก cURL -u เพื่อส่งข้อมูลรับรองการตรวจสอบสิทธิ์พื้นฐาน หรือคุณอาจเลือก สามารถส่งโทเค็น OAuth2 ในส่วนหัว Bearer เพื่อสร้าง Edge Management API เช่น

curl -H "Authorization: Bearer access_token" https://ms_IP_DNS:8080/v1/organizations/orgName

หลังจากเปิดใช้ SAML แล้ว คุณจะเลือกปิดใช้การตรวจสอบสิทธิ์พื้นฐานได้ ถ้าคุณปิดใช้การตรวจสอบสิทธิ์พื้นฐาน สคริปต์ (สคริปต์ Maven, สคริปต์ Shell, apigeetool ฯลฯ) ที่ใช้ Edge การเรียก API การจัดการที่รองรับการตรวจสอบสิทธิ์ขั้นพื้นฐานจะใช้งานไม่ได้อีกต่อไป คุณต้องอัปเดตการเรียก API และ สคริปต์ที่ใช้การตรวจสอบสิทธิ์พื้นฐานเพื่อส่งโทเค็นเพื่อการเข้าถึง OAuth2 ในส่วนหัวของผู้ถือ

การใช้ get_token เพื่อรับและรีเฟรชโทเค็น

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

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

ขั้นตอนต่อไปนี้อธิบายวิธีใช้ get_token เพื่อรับโทเค็นเพื่อการเข้าถึง OAuth2 เพื่อ เรียกใช้ Edge Management API ดังนี้

  1. ดาวน์โหลด 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 ของชื่อ DNS ของเครื่อง การโฮสต์โมดูล EDGE SSO หากคุณกำหนดค่า TLS ใน Edge SSO ให้ใช้ https และ หมายเลขพอร์ต TLS ที่ถูกต้อง

  2. แตกไฟล์ ZIP ของแพ็กเกจ ssocli-bundle.zip: วันที่
    unzip ssocli-bundle.zip
  3. ติดตั้ง get_token ใน /usr/local/bin:
    ./install ใช้ -b เพื่อระบุ สถานที่อื่น: > ./install -b เส้นทาง
  4. ตั้งค่า SSO_LOGIN_URL ตัวแปรสภาพแวดล้อมไปยัง URL สำหรับเข้าสู่ระบบของคุณ ซึ่งจะอยู่ในรูปแบบ
    ส่งออก SSO_LOGIN_URL="http://edge_sso_IP_DNS:9099"

    โดยที่ edge_sso_IP_DNS คือที่อยู่ IP ของชื่อ DNS ของเครื่อง การโฮสต์โมดูล EDGE SSO หากคุณกำหนดค่า TLS ใน EDGE SSO ให้ใช้ https และหมายเลขพอร์ต TLS ที่ถูกต้อง
  5. ในเบราว์เซอร์ ให้ไปที่ URL ต่อไปนี้เพื่อรับรหัสผ่านแบบใช้ครั้งเดียว:
    http://edge_sso_IP_DNS:9099/passcode

    หากคุณกำหนดค่า TLS ใน EDGE SSO ให้ใช้ https และหมายเลขพอร์ต TLS ที่ถูกต้อง

    หมายเหตุ: หากในปัจจุบันผู้ให้บริการข้อมูลประจำตัวไม่ได้เข้าสู่ระบบ คุณจะ เพื่อรับข้อความแจ้งให้ลงชื่อเข้าสู่ระบบ

    URL นี้จะส่งคืนรหัสผ่านแบบใช้ครั้งเดียวซึ่งยังคงใช้ได้จนกว่าคุณจะรีเฟรช URL นั้นเพื่อรับ รหัสผ่านใหม่ หรือใช้รหัสผ่านกับ get_token เพื่อสร้างโทเค็นเพื่อการเข้าถึง
  6. เรียกใช้ get_token เพื่อรับ โทเค็นเพื่อการเข้าถึง OAuth2:
    get_token -u emailAddress

    โดยที่ emailAddress คืออีเมลของผู้ใช้ Edge คุณ แจ้งให้ป้อนรหัสผ่านแบบใช้ครั้งเดียวที่คุณได้รับในขั้นตอนที่ 3:
    รหัสแบบใช้ครั้งเดียว ( รับรหัสที่ https://edge_sso_IP.com/passcode )
    ป้อนรหัสผ่านหากเปิดใช้ SAML หรือกด ENTER:


    ป้อนรหัสผ่าน ยูทิลิตี get_token จะได้รับสิทธิ์การเข้าถึง OAuth2 จากนั้นพิมพ์โทเค็นบนหน้าจอ แล้วเขียนและโทเค็นการรีเฟรชไปที่ ~/.sso-cli

    คุณสามารถป้อนรหัสผ่านในบรรทัดคำสั่งโดยใช้คำสั่ง get_token ในรูปแบบต่อไปนี้
    > get_token -u emailAddress -p รหัสผ่าน
  7. ส่งโทเค็นเพื่อการเข้าถึงไปยังการเรียก Edge Management API เป็นส่วนหัวสำหรับผู้ถือ:
    > curl -H "การให้สิทธิ์: ผู้ถือ access_token" https://ms_IP:8080/v1/organizations/orgName

    หลังจากได้รับโทเค็นเพื่อการเข้าถึงใหม่เป็นครั้งแรก คุณสามารถรับโทเค็นเพื่อการเข้าถึงและ ส่งต่อไปยังการเรียก API ด้วยคำสั่งเดียว ตามที่แสดงด้านล่าง
    > ส่วนหัว=`get_token` && curl -H "การให้สิทธิ์: ผู้ถือ $header" https://ms_IP:8080/v1/o/orgName

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

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

การใช้ API การจัดการเพื่อรับและรีเฟรช โทเค็น

การใช้ OAuth2 ความปลอดภัยด้วย Apigee Edge Management API ที่มีวิธีการที่แสดงวิธีใช้ Edge Management API เพื่อรับและรีเฟรชโทเค็น คุณยังใช้การเรียก Edge API ไปยังโทเค็นได้ด้วย ที่สร้างขึ้นจากการยืนยันผ่าน SAML

ความแตกต่างเพียงอย่างเดียวระหว่างการเรียก API ที่บันทึกไว้ในการใช้การรักษาความปลอดภัย OAuth2 ด้วย Apigee Edge Management API ก็คือ URL ของการเรียกใช้ต้องอ้างอิงถึงโซนของคุณ ชื่อ นอกจากนี้ หากต้องการสร้างโทเค็นเพื่อการเข้าถึงเริ่มต้น คุณจะต้องใส่รหัสผ่านด้วย ที่แสดงในขั้นตอนที่ 3 ของขั้นตอนด้านบน

ตัวอย่างเช่น ใช้การเรียก 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'  

สำหรับการให้สิทธิ์ ให้ส่งข้อมูลเข้าสู่ระบบไคลเอ็นต์ OAuth2 ที่สงวนไว้ในส่วนหัว Authorization การโทรจะพิมพ์ เข้าถึงและรีเฟรชโทเค็นไปที่หน้าจอ

หากต้องการรีเฟรชโทเค็นเพื่อการเข้าถึงในภายหลัง ให้ใช้การเรียกต่อไปนี้ที่มีโทเค็นการรีเฟรช

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=refreshToken'