คุณกำลังดูเอกสารประกอบของ Apigee Edge
ไปที่เอกสารประกอบของ
Apigee X info
สิ่งที่คุณจะได้เรียนรู้
- ดาวน์โหลดและติดตั้งใช้งานพร็อกซี API ตัวอย่าง
- สร้างพร็อกซี API ที่ป้องกันด้วย OAuth
- สร้างผลิตภัณฑ์ นักพัฒนาแอป และแอป
- แลกเปลี่ยนข้อมูลเข้าสู่ระบบเป็นโทเค็นเพื่อการเข้าถึง OAuth
- เรียกใช้ API ด้วยโทเค็นเพื่อการเข้าถึง
บทแนะนำนี้จะแสดงวิธีรักษาความปลอดภัยของ API ด้วย OAuth 2.0
OAuth เป็นโปรโตคอลการให้สิทธิ์ที่ช่วยให้แอปเข้าถึงข้อมูลในนามของผู้ใช้ได้โดยไม่ต้องให้ผู้ใช้เปิดเผยชื่อผู้ใช้และรหัสผ่าน
เมื่อใช้ OAuth ระบบจะแลกเปลี่ยนข้อมูลเข้าสู่ระบบความปลอดภัย (เช่น ชื่อผู้ใช้/รหัสผ่านหรือคีย์/ข้อมูลลับ) เป็นโทเค็นเพื่อการเข้าถึง เช่น
joe:joes_password (username:password) หรือ
Nf2moHOASMJeUmXVdDhlMbPaXm2U7eMc:unUOXYpPe74ZfLEb (key:secret)
กลายเป็น
b0uiYwjRZLEo4lEu7ky2GGxHkanN
โทเค็นเพื่อการเข้าถึงเป็นสตริงอักขระแบบสุ่มและเป็นโทเค็นชั่วคราว (ควรหมดอายุหลังจากผ่านไประยะเวลาหนึ่ง) ดังนั้นการส่งโทเค็นเพื่อการเข้าถึงไปมาเพื่อตรวจสอบสิทธิ์ผู้ใช้ในเวิร์กโฟลว์ของแอปจึงปลอดภัยกว่าการส่งข้อมูลเข้าสู่ระบบจริงไปมามาก
ข้อกำหนด OAuth 2.0กำหนดกลไกต่างๆ ที่เรียกว่า "ประเภทการให้สิทธิ์" สำหรับการแจกจ่ายโทเค็นเพื่อการเข้าถึง สำหรับแอป ประเภทการให้สิทธิ์พื้นฐานที่สุดที่กำหนดโดย OAuth 2.0 เรียกว่า "ข้อมูลเข้าสู่ระบบ ไคลเอ็นต์" ในประเภทการให้สิทธิ์นี้ ระบบจะสร้างโทเค็นเพื่อการเข้าถึง OAuth เพื่อแลกกับข้อมูลเข้าสู่ระบบของไคลเอ็นต์ ซึ่งเป็นคู่คีย์ผู้ใช้/ข้อมูลลับของผู้ใช้ เช่น ตัวอย่างด้านบน
มีการใช้ประเภทการให้สิทธิ์ข้อมูลเข้าสู่ระบบของไคลเอ็นต์ใน Edge โดยใช้นโยบายในพร็อกซี API โดยทั่วไปแล้ว ขั้นตอนการตรวจสอบสิทธิ์ OAuth มี 2 ขั้นตอนดังนี้
- เรียกใช้พร็อกซี API 1 เพื่อสร้างโทเค็นเพื่อการเข้าถึง OAuth จากข้อมูลเข้าสู่ระบบของไคลเอ็นต์ นโยบาย OAuth v2.0 ในพร็อกซี API จะจัดการเรื่องนี้
- เรียกใช้พร็อกซี API 2 เพื่อส่งโทเค็นเพื่อการเข้าถึง OAuth ในการเรียก API พร็อกซี API จะยืนยันโทเค็นเพื่อการเข้าถึงโดยใช้นโยบาย OAuth v2.0
สิ่งที่คุณต้องมี
- บัญชี Apigee Edge หากยังไม่มีบัญชี คุณสามารถลงชื่อสมัครใช้ได้ตามวิธีการ ในการสร้างบัญชี Apigee Edge
- cURL ที่ติดตั้งในเครื่องเพื่อ ทำการเรียก API จากบรรทัดคำสั่ง
ดาวน์โหลดและติดตั้งใช้งานพร็อกซี API ที่สร้างโทเค็น
ในขั้นตอนนี้ คุณจะสร้างพร็อกซี API ที่สร้างโทเค็นเพื่อการเข้าถึง OAuth จากคีย์ผู้ใช้และข้อมูลลับของผู้ใช้ที่ส่งในการเรียก API Apigee มีพร็อกซี API ตัวอย่างที่ ทำเช่นนี้ คุณจะดาวน์โหลดและติดตั้งใช้งานพร็อกซีในตอนนี้ จากนั้นจะใช้พร็อกซีในภายหลังในบทแนะนำ (คุณ สร้างพร็อกซี API นี้ได้ง่ายๆ ด้วยตนเอง ขั้นตอนการดาวน์โหลดและการติดตั้งใช้งานนี้มีไว้เพื่อความสะดวก และเพื่อแสดงให้เห็นว่าการแชร์พร็อกซีที่สร้างไว้แล้วนั้นง่ายเพียงใด)
- ดาวน์โหลดไฟล์ ZIP ของพร็อกซี API ตัวอย่าง "oauth" ไปยังไดเรกทอรีใดก็ได้ในระบบไฟล์
- ไปที่ https://apigee.com/edge แล้วลงชื่อเข้าใช้
- เลือกพัฒนา > พร็อกซี API ในแถบนำทางด้านซ้าย
- คลิก + พร็อกซี

- ในวิซาร์ดสร้างพร็อกซี ให้คลิกอัปโหลดชุดพร็อกซี
- เลือกไฟล์
oauth.zipที่คุณดาวน์โหลด แล้วคลิก ถัดไป - คลิกสร้าง
- หลังจากสร้างเสร็จแล้ว ให้คลิกแก้ไขพร็อกซีเพื่อดูพร็อกซีใหม่ ในตัวแก้ไขพร็อกซี API
- ในหน้าภาพรวมของตัวแก้ไขพร็อกซี API ให้คลิกเมนูแบบเลื่อนลงการติดตั้งใช้งาน
แล้วเลือกทดสอบ นี่คือสภาพแวดล้อมการทดสอบในองค์กรของคุณ

เมื่อมีข้อความแจ้งให้ยืนยัน ให้คลิกติดตั้งใช้งาน
เมื่อคลิกเมนูแบบเลื่อนลงการติดตั้งใช้งานอีกครั้ง ไอคอนสีเขียวจะระบุว่าพร็อกซี ได้รับการติดตั้งใช้งานในสภาพแวดล้อมการทดสอบแล้ว

เยี่ยมไปเลย คุณดาวน์โหลดและทําให้พร็อกซี API ที่สร้างโทเค็นเพื่อการเข้าถึงใช้งานได้ในองค์กร Edge เรียบร้อยแล้ว
ดูโฟลว์และนโยบาย OAuth
มาดูรายละเอียดของพร็อกซี API กัน
- ในเครื่องมือแก้ไขพร็อกซี API ให้คลิกแท็บพัฒนา คุณจะเห็นนโยบาย 2 รายการในแผงNavigator ทางด้านซ้าย นอกจากนี้ คุณยังจะเห็นโฟลว์
POST2 รายการในส่วนProxy Endpointsด้วย -
คลิก AccessTokenClientCredential ในส่วน
Proxy Endpoints

ในมุมมองโค้ด XML คุณจะเห็น
Flowที่ชื่อAccessTokenClientCredential:<Flow name="AccessTokenClientCredential"> <Description/> <Request> <Step> <Name>GenerateAccessTokenClient</Name> </Step> </Request> <Response/> <Condition>(proxy.pathsuffix MatchesPath "/accesstoken") and (request.verb = "POST")</Condition> </Flow>โฟลว์คือขั้นตอนการประมวลผลในพร็อกซี API ในกรณีนี้ โฟลว์จะทริกเกอร์เมื่อ เป็นไปตามเงื่อนไขบางอย่าง (เรียกว่าโฟลว์แบบมีเงื่อนไข) เงื่อนไข ที่กำหนดไว้ใน องค์ประกอบ
<Condition>ระบุว่าหากมีการเรียกพร็อกซี API ไปยัง ทรัพยากร/accesstokenและคำกริยาของคำขอคือPOSTให้ เรียกใช้นโยบายGenerateAccessTokenClientซึ่งจะสร้างโทเค็นเพื่อการเข้าถึง -
ตอนนี้มาดูนโยบายที่โฟลว์แบบมีเงื่อนไขจะทริกเกอร์กัน คลิกไอคอนนโยบาย GenerateAccessTokenClient ในแผนภาพโฟลว์

ระบบจะโหลดการกำหนดค่า XML ต่อไปนี้ลงในมุมมองโค้ด<OAuthV2 name="GenerateAccessTokenClient"> <!-- This policy generates an OAuth 2.0 access token using the client_credentials grant type --> <Operation>GenerateAccessToken</Operation> <!-- This is in millseconds, so expire in an hour --> <ExpiresIn>3600000</ExpiresIn> <SupportedGrantTypes> <!-- This part is very important: most real OAuth 2.0 apps will want to use other grant types. In this case it is important to NOT include the "client_credentials" type because it allows a client to get access to a token with no user authentication --> <GrantType>client_credentials</GrantType> </SupportedGrantTypes> <GrantType>request.queryparam.grant_type</GrantType> <GenerateResponse/> </OAuthV2>
การกำหนดค่าประกอบด้วยรายการต่อไปนี้
<Operation>ซึ่งอาจเป็นค่าที่กำหนดไว้ล่วงหน้าค่าใดค่าหนึ่ง จะกำหนดสิ่งที่นโยบายจะทำ ในกรณีนี้ นโยบายจะสร้างโทเค็นเพื่อเข้าถึง- โทเค็นจะหมดอายุ 1 ชั่วโมง (3600000 มิลลิวินาที) หลังจากสร้าง
- ใน
<SupportedGrantTypes>OAuth<GrantType>ที่คาดว่าจะใช้คือclient_credentials(แลกเปลี่ยนคีย์และข้อมูลลับของผู้ใช้เป็นโทเค็น OAuth) - องค์ประกอบ
<GrantType>ที่ 2 จะบอกนโยบายว่าควรค้นหาพารามิเตอร์ประเภทการให้สิทธิ์ที่ใดในการเรียก API ตามที่ข้อกำหนดของ OAuth 2.0 กำหนด (คุณจะเห็นค่านี้ในการเรียก API ในภายหลัง) นอกจากนี้ ยังส่งประเภทการให้สิทธิ์ในส่วนหัว HTTP (request.header.grant_type) หรือเป็นพารามิเตอร์แบบฟอร์ม (request.formparam.grant_type) ได้ด้วย
คุณไม่จำเป็นต้องดำเนินการใดๆ กับพร็อกซี API ในขณะนี้ ในขั้นตอนต่อๆ ไป คุณจะใช้พร็อกซี API นี้เพื่อสร้างโทเค็นเพื่อการเข้าถึง OAuth แต่ก่อนอื่น คุณต้องทำสิ่งต่อไปนี้ ก่อน
- สร้างพร็อกซี API ที่คุณต้องการรักษาความปลอดภัยด้วย OAuth จริงๆ
- สร้างอาร์ติแฟกต์อีก 2-3 รายการที่จะทำให้ได้คีย์ผู้ใช้และข้อมูลลับของผู้บริโภค ที่คุณต้องใช้แลกเปลี่ยนเป็นโทเค็นเพื่อการเข้าถึง
สร้างพร็อกซี API ที่ป้องกันด้วย OAuth
ตอนนี้คุณจะสร้างพร็อกซี API ที่ต้องการปกป้อง นี่คือการเรียก API ที่ แสดงผลสิ่งที่คุณต้องการ ในกรณีนี้ พร็อกซี API จะเรียกใช้บริการ MockTarget ของ Apigee เพื่อแสดงผลที่อยู่ IP ของคุณ แต่คุณจะเห็นได้ก็ต่อเมื่อส่งโทเค็นเพื่อการเข้าถึง OAuth ที่ถูกต้องพร้อมกับการเรียก API
พร็อกซี API ที่คุณสร้างที่นี่จะมีนโยบายที่ตรวจสอบโทเค็น OAuth ในคำขอ
- เลือกพัฒนา > พร็อกซี API ในแถบนำทางด้านซ้าย
- คลิก + พร็อกซี

- ในวิซาร์ดสร้างพร็อกซี ให้เลือกReverse Proxy (พบบ่อยที่สุด) แล้วคลิกถัดไป
- กำหนดค่าพร็อกซีด้วยข้อมูลต่อไปนี้
ในฟิลด์นี้ ทำดังนี้ ชื่อพร็อกซี ป้อน: helloworld_oauth2เส้นทางฐานของโปรเจ็กต์ เปลี่ยนเป็น
/hellooauth2เส้นทางฐานของโปรเจ็กต์เป็นส่วนหนึ่งของ URL ที่ใช้เพื่อส่งคำขอไปยังพร็อกซี API
API ที่มีอยู่ ป้อน:
https://mocktarget.apigee.net/ipซึ่งกำหนด URL เป้าหมายที่ Apigee Edge เรียกใช้ในคำขอไปยังพร็อกซี API
คำอธิบาย ป้อน: hello world protected by OAuth - คลิกถัดไป
- ในหน้านโยบายทั่วไป ให้ทำดังนี้
ในฟิลด์นี้ ทำดังนี้ ความปลอดภัย: การให้สิทธิ์ เลือก OAuth 2.0 - คลิกถัดไป
- ในหน้าโฮสต์เสมือน ให้คลิกถัดไป
- ในหน้าบิลด์ ให้ตรวจสอบว่าได้เลือกสภาพแวดล้อมการทดสอบทดสอบแล้ว และ คลิกสร้างและทำให้ใช้งานได้
- ในหน้าสรุป คุณจะเห็นการรับทราบว่าระบบสร้างพร็อกซี API ใหม่ เรียบร้อยแล้ว และพร็อกซี API ได้รับการติดตั้งใช้งานในสภาพแวดล้อม การทดสอบ
- คลิกแก้ไขพร็อกซีเพื่อแสดงหน้าภาพรวมของพร็อกซี API
โปรดทราบว่าครั้งนี้ระบบจะติดตั้งใช้งานพร็อกซี API โดยอัตโนมัติ คลิกเมนูแบบเลื่อนลงการติดตั้งใช้งาน เพื่อให้แน่ใจว่ามีจุดการติดตั้งใช้งานสีเขียวอยู่ข้างสภาพแวดล้อม "ทดสอบ"
ดูนโยบาย
มาดูรายละเอียดของสิ่งที่คุณสร้างกัน
- ในเครื่องมือแก้ไขพร็อกซี API ให้คลิกแท็บพัฒนา คุณจะเห็นว่ามีการเพิ่มนโยบาย 2 รายการลงในขั้นตอนการส่งคำขอของพร็อกซี API ดังนี้
- ยืนยันโทเค็นเพื่อการเข้าถึง OAuth v2.0 - ตรวจสอบการเรียก API เพื่อให้แน่ใจว่ามีโทเค็น OAuth ที่ถูกต้อง
- นำการให้สิทธิ์ในส่วนหัวออก - นโยบาย AssignMessage ที่ นำโทเค็นเพื่อการเข้าถึงออกหลังจากตรวจสอบแล้ว เพื่อไม่ให้ส่งไปยัง บริการเป้าหมาย (หากบริการเป้าหมายต้องการโทเค็นเพื่อการเข้าถึง OAuth คุณจะไม่ใช้นโยบายนี้)
-
คลิกไอคอนยืนยันโทเค็นเพื่อการเข้าถึง OAuth v2.0 ในมุมมองโฟลว์ แล้วดู XML ด้านล่างในบานหน้าต่างโค้ด

<OAuthV2 async="false" continueOnError="false" enabled="true" name="verify-oauth-v2-access-token"> <DisplayName>Verify OAuth v2.0 Access Token</DisplayName> <Operation>VerifyAccessToken</Operation> </OAuthV2>โปรดทราบว่า
<Operation>คือVerifyAccessTokenการดำเนินการจะกำหนดสิ่งที่นโยบายควรทำ ในกรณีนี้ นโยบายจะตรวจสอบ โทเค็น OAuth ที่ถูกต้องในคำขอ
เพิ่มผลิตภัณฑ์ API
วิธีเพิ่มผลิตภัณฑ์ API โดยใช้ UI ของ Apigee
- เลือกเผยแพร่ > ผลิตภัณฑ์ API
- คลิก +ผลิตภัณฑ์ API
- ป้อนรายละเอียดผลิตภัณฑ์สำหรับผลิตภัณฑ์ API
ช่อง รายละเอียด ชื่อ ชื่อภายในของผลิตภัณฑ์ API อย่าระบุอักขระพิเศษในชื่อ
หมายเหตุ: คุณจะแก้ไขชื่อไม่ได้เมื่อสร้างผลิตภัณฑ์ API แล้ว เช่นhelloworld_oauth2-Productชื่อที่แสดง ชื่อที่แสดงสำหรับผลิตภัณฑ์ API ชื่อที่แสดงจะใช้ใน UI และคุณแก้ไขได้ทุกเมื่อ หากไม่ได้ระบุ ระบบจะใช้ค่าชื่อ ระบบจะป้อนข้อมูลในช่องนี้โดยอัตโนมัติ โดยใช้ค่าชื่อ คุณสามารถแก้ไขหรือลบเนื้อหาได้ ชื่อที่แสดงอาจมี สัญลักษณ์พิเศษ เช่น helloworld_oauth2-Productคำอธิบาย คำอธิบายผลิตภัณฑ์ API สภาพแวดล้อม สภาพแวดล้อมที่ผลิตภัณฑ์ API จะอนุญาตให้เข้าถึง เลือกสภาพแวดล้อมที่คุณ ทําให้พร็อกซี API ใช้งานได้ เช่น testการเข้าถึง เลือกสาธารณะ อนุมัติคำขอเข้าถึงโดยอัตโนมัติ เปิดใช้การอนุมัติคำขอคีย์สำหรับผลิตภัณฑ์ API นี้จากแอปใดก็ได้โดยอัตโนมัติ โควต้า ไม่ต้องสนใจในบทแนะนำนี้ ขอบเขต OAuth ที่อนุญาต ไม่ต้องสนใจในบทแนะนำนี้ - ในช่องพร็อกซี API ให้เลือกพร็อกซี API ที่คุณเพิ่งสร้าง
- ป้อน "/" ในช่องเส้นทาง ไม่ต้องสนใจช่องอื่นๆ
- คลิกบันทึก
เพิ่มนักพัฒนาแอปและแอปไปยัง องค์กร
จากนั้นคุณจะจำลองเวิร์กโฟลว์ของนักพัฒนาซอฟต์แวร์ที่ลงชื่อสมัครใช้เพื่อใช้ API ของคุณ นักพัฒนาซอฟต์แวร์ควรลงทะเบียนตนเองและแอปผ่านพอร์ทัลนักพัฒนาซอฟต์แวร์ของคุณ ในขั้นตอนนี้ คุณจะต้องเพิ่มนักพัฒนาแอปและแอปเป็นผู้ดูแลระบบ
นักพัฒนาแอปจะมีแอปอย่างน้อย 1 แอปที่เรียกใช้ API ของคุณ และแต่ละแอปจะได้รับคีย์ผู้ใช้และคีย์ลับของผู้ใช้ที่ไม่ซ้ำกัน คีย์/ข้อมูลลับต่อแอปนี้ยังช่วยให้คุณซึ่งเป็นผู้ให้บริการ API ควบคุมการเข้าถึง API ได้ละเอียดยิ่งขึ้น และรายงานการวิเคราะห์การเข้าชม API ได้ละเอียดยิ่งขึ้น เนื่องจาก Edge รู้ว่านักพัฒนาแอปและแอปใดเป็นเจ้าของโทเค็น OAuth ใด
สร้างนักพัฒนาแอป
มาสร้างนักพัฒนาแอปชื่อ Nigel Tufnel กัน
- เลือกเผยแพร่ > นักพัฒนาแอปในเมนู
- คลิก + นักพัฒนาแอป
- ป้อนข้อมูลต่อไปนี้ในหน้าต่างนักพัฒนาแอปใหม่
ในฟิลด์นี้ Enter ชื่อ Nigelนามสกุล Tufnelชื่อผู้ใช้ nigelอีเมล nigel@example.com - คลิกสร้าง
ลงทะเบียนแอป
มาสร้างแอปสำหรับ Nigel กัน
- เลือกเผยแพร่ > แอป
- คลิก + แอป
- ป้อนข้อมูลต่อไปนี้ในหน้าต่างแอปใหม่
ในฟิลด์นี้ ทำดังนี้ ชื่อและชื่อที่แสดง ป้อน: nigel_appนักพัฒนาซอฟต์แวร์ คลิกนักพัฒนาซอฟต์แวร์ แล้วเลือก Nigel Tufnel (nigel@example.com)URL ของ Callback และหมายเหตุ เว้นว่างไว้ - คลิกเพิ่มผลิตภัณฑ์ในส่วนผลิตภัณฑ์
- เลือก helloworld_oauth2-Product
- คลิกสร้าง
รับ คีย์ผู้ใช้และข้อมูลลับของผู้ใช้
ตอนนี้คุณจะได้รับคีย์ผู้ใช้และข้อมูลลับของผู้ใช้ที่จะแลกเปลี่ยนเป็นโทเค็นเพื่อการเข้าถึง OAuth
- ตรวจสอบว่าหน้า nigel_app แสดงอยู่ หากยังไม่ได้ดำเนินการ ให้คลิก nigel_app ในหน้าแอป (เผยแพร่ > แอป)
-
ในหน้า nigel_app ให้คลิกแสดงในคอลัมน์คีย์ และข้อมูลลับ โปรดทราบว่าคีย์/ข้อมูลลับ เชื่อมโยงกับ "helloworld_oauth2-Product" ที่สร้างขึ้นโดยอัตโนมัติ ก่อนหน้านี้
- เลือกและคัดลอกคีย์และข้อมูลลับ วางในไฟล์ข้อความชั่วคราว คุณจะใช้ข้อมูลเข้าสู่ระบบเหล่านี้ในขั้นตอนต่อๆ ไป ซึ่งคุณจะเรียกพร็อกซี API ที่จะแลกเปลี่ยนข้อมูลเข้าสู่ระบบเหล่านี้เป็นโทเค็นเพื่อการเข้าถึง OAuth
ลองเรียก API เพื่อรับที่อยู่ IP (ไม่สำเร็จ)
ลองเรียกใช้พร็อกซี API ที่ได้รับการปกป้องซึ่งควรจะแสดงที่อยู่ IP ของคุณ
เพื่อความสนุก เรียกใช้คำสั่ง cURL ต่อไปนี้ในหน้าต่างเทอร์มินัล โดยแทนที่ชื่อองค์กร Edge
คำว่า test ใน URL คือสภาพแวดล้อมการทดสอบขององค์กร
ซึ่งเป็นสภาพแวดล้อมที่คุณติดตั้งใช้งานพร็อกซี Basepath ของพร็อกซี
คือ /hellooauth2 ซึ่งเป็น Basepath เดียวกับที่คุณระบุเมื่อสร้างพร็อกซี
โปรดทราบว่าคุณไม่ได้ส่งโทเค็นเพื่อการเข้าถึง OAuth ในการเรียก
curl https://ORG_NAME-test.apigee.net/hellooauth2
เนื่องจากพร็อกซี API มีนโยบายยืนยันโทเค็นเพื่อการเข้าถึง OAuth v2.0 ที่ตรวจสอบโทเค็น OAuth ที่ถูกต้องในคำขอ การเรียกจึงควรล้มเหลวพร้อมข้อความต่อไปนี้
{"fault":{"faultstring":"Invalid access token","detail":{"errorcode":"oauth.v2.InvalidAccessToken"}}}ในกรณีนี้ การล้มเหลวเป็นเรื่องดี ซึ่งหมายความว่าพร็อกซี API ของคุณจะปลอดภัยมากขึ้น เฉพาะแอปที่เชื่อถือได้ ซึ่งมีโทเค็นเพื่อการเข้าถึง OAuth ที่ถูกต้องเท่านั้นที่จะเรียก API นี้ได้สำเร็จ
รับโทเค็นเพื่อการเข้าถึง OAuth
ตอนนี้เรามาถึงจุดที่คุ้มค่าที่สุดแล้ว คุณกำลังจะใช้คีย์และข้อมูลลับที่คุณ คัดลอกและวางลงในไฟล์ข้อความเพื่อแลกเป็นโทเค็นเพื่อการเข้าถึง OAuth ตอนนี้คุณจะ เรียก API ไปยังพร็อกซีตัวอย่าง API ที่คุณนำเข้า oauth ซึ่งจะ สร้างโทเค็นเพื่อการเข้าถึง API
ใช้คีย์และข้อมูลลับดังกล่าวเพื่อทำการเรียก cURL ต่อไปนี้ (โปรดทราบว่าโปรโตคอลคือ
https) โดยแทนที่ชื่อองค์กร Edge, คีย์ และ
ข้อมูลลับของคุณตามที่ระบุ
curl -X POST -H "Content-Type: application/x-www-form-urlencoded" \ "https://ORG_NAME-test.apigee.net/oauth/client_credential/accesstoken?grant_type=client_credentials" \ -d "client_id=CLIENT_KEY&client_secret=CLIENT_SECRET"
โปรดทราบว่าหากคุณใช้ไคลเอ็นต์ เช่น Postman เพื่อโทร
client_id และ client_secret จะอยู่ในเนื้อหาของ
คำขอและต้องเป็น x-www-form-urlencoded
คุณควรได้รับการตอบกลับดังนี้
{ "issued_at" : "1466025769306", "application_name" : "716bbe61-f14a-4d85-9b56-a62ff8e0d347", "scope" : "", "status" : "approved", "api_product_list" : "[helloworld_oauth2-Product]", "expires_in" : "3599", //--in seconds "developer.email" : "nigel@example.com", "token_type" : "BearerToken", "client_id" : "xNnREu1DNGfiwzQZ5HUN8IAUwZSW1GZW", "access_token" : "GTPY9VUHCqKVMRB0cHxnmAp0RXc0", "organization_name" : "myOrg", "refresh_token_expires_in" : "0", //--in seconds "refresh_count" : "0" }
คุณได้รับโทเค็นเพื่อการเข้าถึง OAuth แล้ว คัดลอกค่า access_token (โดยไม่ต้องใส่เครื่องหมายคำพูด) และ วางลงในไฟล์ข้อความ คุณจะต้องใช้รหัสนี้ในอีกสักครู่
เกิดอะไรขึ้น
คุณคงจำได้ว่าก่อนหน้านี้เมื่อดูโฟลว์แบบมีเงื่อนไขในพร็อกซี
OAuth ที่ระบุว่าหาก URI ของทรัพยากรคือ
/accesstoken และคำกริยาของคำขอคือ POST ให้เรียกใช้นโยบาย
GenerateAccessTokenClient OAuth ที่สร้างโทเค็นเพื่อการเข้าถึง คำสั่ง cURL
ของคุณเป็นไปตามเงื่อนไขดังกล่าว ระบบจึงบังคับใช้นโยบาย OAuth ระบบได้ยืนยันคีย์ผู้ใช้
และข้อมูลลับของผู้ใช้ รวมถึงแลกเปลี่ยนเป็นโทเค็น OAuth ที่จะหมดอายุใน 1 ชั่วโมง
เรียกใช้ API ด้วยโทเค็นเพื่อการเข้าถึง (สำเร็จ!)
เมื่อมีโทเค็นเพื่อการเข้าถึงแล้ว คุณจะใช้โทเค็นดังกล่าวเพื่อเรียกพร็อกซี API ได้ โทรผ่าน cURL ต่อไปนี้ แทนที่ชื่อองค์กร Edge และโทเค็นเพื่อการเข้าถึง
curl https://ORG_NAME-test.apigee.net/hellooauth2 -H "Authorization: Bearer TOKEN"
ตอนนี้คุณควรได้รับการเรียกพร็อกซี API ที่สำเร็จซึ่งจะแสดงที่อยู่ IP ของคุณ เช่น
{"ip":"::ffff:192.168.14.136"}คุณสามารถเรียกใช้ API นั้นซ้ำได้เกือบ 1 ชั่วโมง หลังจากนั้นโทเค็นเพื่อการเข้าถึงจะหมดอายุ หากต้องการโทรหลังจากผ่านไป 1 ชั่วโมง คุณจะต้องสร้างโทเค็นเพื่อการเข้าถึงใหม่โดยใช้ ขั้นตอนก่อนหน้า
ยินดีด้วย คุณได้สร้างพร็อกซี API และปกป้องพร็อกซีดังกล่าวโดยกำหนดให้ต้องมีโทเค็นเพื่อการเข้าถึง OAuth ที่ถูกต้องในการเรียกใช้
หัวข้อที่เกี่ยวข้อง
- หน้าแรกของ OAuth
- นโยบาย OAuthV2
- ดาวน์โหลดพร็อกซี API (ซึ่งแสดงวิธีรวมพร็อกซี API เป็นไฟล์ ZIP เช่นเดียวกับไฟล์ที่คุณดาวน์โหลด)