คุณกำลังดูเอกสารประกอบ Apigee Edge
ไปที่
เอกสารประกอบเกี่ยวกับ Apigee X. ข้อมูล
สิ่งที่คุณจะได้เรียนรู้
- ดาวน์โหลดและทำให้พร็อกซี API ตัวอย่างใช้งานได้
- สร้างพร็อกซี API ที่ป้องกันด้วย OAuth
- สร้างผลิตภัณฑ์ นักพัฒนาแอป และแอป
- ข้อมูลเข้าสู่ระบบของ Exchange สำหรับโทเค็นเพื่อการเข้าถึง OAuth
- เรียก API ด้วยโทเค็นเพื่อการเข้าถึง
บทแนะนำนี้จะแสดงวิธีรักษาความปลอดภัยของ API ด้วย OAuth 2.0
OAuth เป็นโปรโตคอลการให้สิทธิ์ที่อนุญาตให้แอปเข้าถึงข้อมูลในนามของ ผู้ใช้ได้โดยที่ผู้ใช้ไม่ต้องเปิดเผยชื่อผู้ใช้และรหัสผ่าน
เมื่อใช้ OAuth ระบบจะแลกเปลี่ยนข้อมูลเข้าสู่ระบบด้านความปลอดภัย (เช่น ชื่อผู้ใช้/รหัสผ่านหรือคีย์/ข้อมูลลับ) สำหรับโทเค็นเพื่อการเข้าถึง เช่น
joe:joes_password
(username:password) หรือ
Nf2moHOASMJeUmXVdDhlMbPaXm2U7eMc:unUOXYpPe74ZfLEb
(คีย์:ลับ)
จะกลายเป็น
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 นี้ได้อย่างง่ายดายด้วยตนเอง ขั้นตอนการดาวน์โหลดและติดตั้งใช้งานนี้มีไว้เพื่ออำนวยความสะดวก และเพื่อแสดงให้เห็นว่าการแชร์พร็อกซีที่สร้างไว้แล้วนั้นทำได้ง่ายเพียงใด)
- ดาวน์โหลด "oauth" ตัวอย่างไฟล์ ZIP ของพร็อกซี API ไปยังไดเรกทอรีใดก็ได้ในไฟล์ ระบบ
- ไปที่ https://apigee.com/edge และลงชื่อเข้าใช้
- เลือก Develop > พร็อกซี API ในแถบนำทางด้านซ้าย
- คลิก + พร็อกซี
- ในวิซาร์ดสร้างพร็อกซี ให้คลิกอัปโหลดแพ็กเกจพร็อกซี
- เลือกไฟล์
oauth.zip
ที่คุณดาวน์โหลดไว้ แล้วคลิก ถัดไป - คลิกสร้าง
- หลังจากบิลด์เสร็จสมบูรณ์ ให้คลิกแก้ไขพร็อกซีเพื่อดูพร็อกซีใหม่ ในตัวแก้ไขพร็อกซี API
- ในหน้าภาพรวมของเครื่องมือแก้ไขพร็อกซี API ให้คลิกเมนูแบบเลื่อนลงการทำให้ใช้งานได้
แล้วเลือกทดสอบ นี่คือสภาพแวดล้อมการทดสอบในองค์กรของคุณ
เมื่อมีข้อความแจ้งการยืนยัน ให้คลิกติดตั้งใช้งาน
เมื่อคุณคลิกเมนูแบบเลื่อนลง "การทำให้ใช้งานได้" อีกครั้ง ไอคอนสีเขียวแสดงว่าพร็อกซี ที่ใช้กับสภาพแวดล้อมการทดสอบแล้ว
เยี่ยมไปเลย คุณดาวน์โหลดและใช้งาน API การสร้างโทเค็นเพื่อการเข้าถึงเรียบร้อยแล้ว พร็อกซีให้กับองค์กร Edge
ดูขั้นตอนและนโยบาย OAuth
มาดูรายละเอียดเกี่ยวกับพร็อกซี API กัน
- ในตัวแก้ไขพร็อกซี API ให้คลิกแท็บพัฒนา ด้านซ้าย
ตัวนำทาง คุณจะเห็นนโยบาย 2 รายการ คุณจะเห็น
POST
2 ตัวด้วย ในส่วน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 ชั่วโมง (360,000 มิลลิวินาที) หลังจากที่สร้าง
- ใน
<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 จะเรียกใช้บริการจำลองของ Apigee เพื่อส่งคืนที่อยู่ IP ของคุณ แต่จะเห็นรหัสผ่านดังกล่าวก็ต่อเมื่อมีสิทธิ์เข้าถึง OAuth ที่ถูกต้องเท่านั้น ด้วยการเรียก API
พร็อกซี API ที่คุณสร้างที่นี่จะมีนโยบายที่ตรวจหาโทเค็น OAuth ใน อีกครั้ง
- เลือก Develop > พร็อกซี API ในแถบนำทางด้านซ้าย
- คลิก + พร็อกซี
- ในวิซาร์ดสร้างพร็อกซี ให้เลือกย้อนกลับพร็อกซี (ใช้บ่อยที่สุด) และคลิกถัดไป
- กำหนดค่าพร็อกซีด้วยข้อมูลต่อไปนี้
ในฟิลด์นี้ สิ่งที่ควรทำ ชื่อพร็อกซี ป้อน 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 ให้คลิกแท็บพัฒนา คุณจะเห็น
เพิ่มนโยบายลงในขั้นตอนคำขอของพร็อกซี API แล้ว:
- ยืนยันโทเค็นเพื่อการเข้าถึง OAuth v2.0 – ตรวจสอบการเรียก API ตรวจสอบว่ามีโทเค็น OAuth ที่ถูกต้อง
- Remove Header Authorization – นโยบาย 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 โดยใช้ Apigee UI
- เลือกเผยแพร่ > ผลิตภัณฑ์ 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_app
นักพัฒนาซอฟต์แวร์ คลิกนักพัฒนาซอฟต์แวร์ แล้วเลือก Nigel Tufnel (nigel@example.com)
URL เรียกกลับและหมายเหตุ เว้นว่างไว้ - ในส่วนผลิตภัณฑ์ ให้คลิกเพิ่มผลิตภัณฑ์
- เลือก helloworld_oauth2-Product
- คลิกสร้าง
รับ รหัสผู้ใช้และข้อมูลลับของผู้ใช้
ตอนนี้คุณจะได้รับรหัสผู้ใช้และข้อมูลลับของผู้ใช้ที่จะแลกเปลี่ยนกับ OAuth โทเค็นเพื่อการเข้าถึง
- ตรวจสอบว่าหน้า nigel_app ปรากฏขึ้น หากไม่เป็นเช่นนั้น ในหน้าแอป (เผยแพร่ > แอป) ให้คลิก nigel_app
-
ในหน้า nigel_app ให้คลิก Show ใน Key และ Secret โปรดสังเกตว่าคีย์/ข้อมูลลับ ที่เชื่อมโยงกับ " Helloworld_oauth2-Product" ที่สร้างขึ้นโดยอัตโนมัติ ก่อนหน้านี้
- เลือกและคัดลอกคีย์และข้อมูลลับ วางหน่วยโฆษณาชั่วคราว ไฟล์ข้อความ คุณจะใช้พร็อกซีในขั้นตอนถัดไป ซึ่งจะเรียกใช้พร็อกซี API ที่จะ แลกเปลี่ยนข้อมูลเข้าสู่ระบบเหล่านี้กับโทเค็นเพื่อการเข้าถึง OAuth
ลองเรียกใช้ API เพื่อรับที่อยู่ IP ของคุณ (ล้มเหลว!)
เพื่อประสิทธิภาพสูงสุด ให้ลองเรียกใช้พร็อกซี API ที่มีการป้องกันซึ่งควรจะส่งคืน IP ของคุณ
อีเมล เรียกใช้คำสั่ง cURL ต่อไปนี้ในหน้าต่างเทอร์มินัล โดยแทนที่ Edge
ชื่อองค์กร คำว่า test
ใน URL คือ
สภาพแวดล้อมการทดสอบขององค์กรที่คุณทำให้พร็อกซีใช้งานได้ เส้นทางฐานของพร็อกซี
คือ /hellooauth2
ซึ่งเป็นเส้นทางพื้นฐานเดียวกันกับที่คุณระบุเมื่อสร้างพร็อกซี
โปรดสังเกตว่าคุณกำลัง
ไม่ส่งโทเค็นเพื่อการเข้าถึง 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 เหมือนไฟล์ที่คุณดาวน์โหลด)