คุณกำลังดูเอกสารประกอบของ Apigee Edge
ไปที่
เอกสารประกอบของ Apigee X info
เกี่ยวกับข้อมูลเมตาของโทเค็น
Apigee Edge จะสร้างโทเค็นเพื่อการเข้าถึง OAuth, โทเค็นการรีเฟรช และรหัสการให้สิทธิ์ แล้ว แจกจ่ายโทเค็นและรหัสเหล่านั้นให้กับแอปที่ผ่านการตรวจสอบสิทธิ์ เมื่อสร้างโทเค็นและรหัสเหล่านั้น Edge จะจัดเก็บโทเค็นและรหัสเหล่านั้น ต่อมา เมื่อ Edge ได้รับคำขอ API ขาเข้าที่มีโทเค็นหรือรหัสเหล่านี้ Edge จะใช้ ข้อมูลที่จัดเก็บไว้เพื่อให้สิทธิ์คำขอ
เมื่อ Edge สร้างอาร์ติแฟกต์ OAuth เหล่านี้ ระบบจะแนบข้อมูลเมตาเข้ากับโทเค็นหรือรหัสด้วย ตัวอย่างเช่น โทเค็นเพื่อการเข้าถึงจะเชื่อมโยงกับคู่ชื่อ/ค่าที่กำหนดเวลาหมดอายุ แอปและนักพัฒนาแอปที่เชื่อมโยง รวมถึงข้อมูลอื่นๆ
การแสดงโทเค็นเพื่อการเข้าถึงของ Edge เป็น JSON จะมีลักษณะดังนี้
{ "issued_at" : "1372170159093", "application_name" : "ccd1803b-b557-4520-bd62-ddd3abf8e501", "scope" : "READ", "status" : "approved", "api_product_list" : "[Product1,Product2]", "api_product_list_json" : ["Product1", "Product2"], "expires_in" : "3599", //--in seconds "developer.email" : "joe@weathersample.com", "organization_id" : "0", "refresh_token" : "82XMXgDyHTpFyXOaApj8C2AGIPnN2IZe", "client_id" : "deAVedE0W9Z9U35PAMaAJYphBJCGdrND", "access_token" : "shTUmeI1geSKin0TODcGLXBNe9vp", "organization_name" : "apifactory", "refresh_count" : "0" }
การเพิ่มแอตทริบิวต์ที่กำหนดเองลงในโทเค็น OAuth
บางครั้งการแนบข้อมูลเมตาที่กำหนดเองลงในโทเค็นเพื่อการเข้าถึงก็มีประโยชน์ เช่น คุณอาจต้องการเพิ่มชื่อผู้ใช้ การเป็นสมาชิกกลุ่มหรือบทบาทของผู้ใช้, รหัสลูกค้า, ตัวระบุเซสชัน หรือข้อมูลอื่นๆ ที่กำหนดเองลงในโทเค็น ใน Apigee Edge ข้อมูลเหล่านี้เรียกว่า "แอตทริบิวต์ที่กำหนดเอง " จากนั้น เมื่อมีการยืนยันโทเค็นภายในขอบเขตของคำขอ API ระบบจะทำให้ข้อมูลดังกล่าวพร้อมใช้งานสำหรับพร็อกซี API ผ่านตัวแปรบริบท พร็อกซี API สามารถตัดสินใจให้สิทธิ์หรือกำหนดเส้นทางอย่างละเอียดตามข้อมูลที่กำหนดเองซึ่งแนบอยู่กับ โทเค็น
หากต้องการแนบข้อมูลที่กำหนดเองลงในโทเค็น ให้ใช้ <Attributes> องค์ประกอบใน
นโยบาย OAuthV2 คุณสามารถ
ระบุชื่อของแอตทริบิวต์ที่กำหนดเองและค่าที่ควรใช้ ตัวอย่างเช่น นี่คือการกำหนดค่านโยบายที่สร้างโทเค็นและแนบแอตทริบิวต์ที่กำหนดเองชื่อ "tenant_list"
ลงในโทเค็น
<OAuthV2 name="GenerateAccessToken"> <Operation>GenerateAccessToken</Operation> <ExpiresIn>600000</ExpiresIn> <GenerateResponse /> <SupportedGrantTypes> <GrantType>client_credentials</GrantType> </SupportedGrantTypes> <GrantType>request.queryparam.grant_type</GrantType> <Attributes> <Attribute name="tenant_list" ref="tenant_list_retrieved_from_external_service" display="false"/> </Attributes> </OAuthV2>
คุณสามารถระบุแอตทริบิวต์ที่กำหนดเองหลายรายการ และแนบแอตทริบิวต์เหล่านั้นโดยนัยลงใน
รหัสการให้สิทธิ์ (<Operation>GenerateAuthorizationCode</Operation>) หรือ
โทเค็น (<Operation>GenerateAccessToken</Operation>) ในขณะที่
สร้าง
เมื่อตั้งค่า display เป็น true (ค่าเริ่มต้น) ระบบจะแสดงแอตทริบิวต์ที่กำหนดเองในคำตอบ ซึ่งแอปอาจดูได้ หรือส่งต่อไปยังผู้ใช้ปลายทาง
เมื่อตั้งค่า display เป็น false ระบบจะจัดเก็บแอตทริบิวต์ที่กำหนดเองไว้ในที่เก็บข้อมูล
แต่จะไม่แสดงในข้อความตอบกลับ ไม่ว่าจะกรณีใดก็ตาม นโยบายภายในพร็อกซี API จะเข้าถึงข้อมูลที่กำหนดเองได้
หลังจากที่ยืนยันโทเค็นแล้ว
ดูข้อมูลเพิ่มเติมเกี่ยวกับตัวเลือก display
การแสดงหรือซ่อนแอตทริบิวต์ที่กำหนดเองในคำตอบ
การรับแอตทริบิวต์ที่กำหนดเองในรันไทม์
เมื่อมีการเรียกใช้ OAuthV2/VerifyAccessToken,
Apigee Edge จะยืนยันโทเค็นโดยค้นหาโทเค็นในที่เก็บโทเค็น จากนั้น Apigee Edge จะป้อนข้อมูลลงในชุดตัวแปรบริบทที่มีข้อมูลเกี่ยวกับโทเค็น ซึ่งได้แก่
- organization_name
- developer.id
- developer.app.name
- client_id
- grant_type
- token_type
- access_token
- issued_at
- expires_in //--in seconds
- status
- scope
- apiproduct.name*
หากโทเค็นมีแอตทริบิวต์ที่กำหนดเอง ระบบจะทำให้แอตทริบิวต์ที่กำหนดเองเหล่านั้นพร้อมใช้งานใน
ตัวแปรบริบทที่มีชื่อว่า accesstoken.{custom_attribute} เช่น
สมมติว่ามีการออกโทเค็นจากนโยบายที่แสดงด้านบน หลังจากยืนยันโทเค็นดังกล่าวแล้ว จะมี
ตัวแปรบริบทเพิ่มเติมชื่อ accesstoken.tenant_list ซึ่งมี
ค่าที่จัดเก็บไว้ในขณะที่สร้างโทเค็น
จากนั้นนโยบายหรือเงื่อนไขจะอ้างอิงตัวแปรเหล่านี้และปรับเปลี่ยนลักษณะการทำงานตาม ค่าที่จัดเก็บไว้ภายใน
การตั้งค่าและอัปเดตแอตทริบิวต์ที่กำหนดเองที่ รันไทม์
ในบางสถานการณ์ คุณอาจต้องการให้พร็อกซี API อัปเดตข้อมูลเมตาที่เชื่อมโยงกับโทเค็นเพื่อการเข้าถึง ในรันไทม์ขณะที่กำลังประมวลผลการเรียก API ใน Apigee Edge Apigee จึงมีนโยบายสำหรับการรับและตั้งค่าแอตทริบิวต์ของโทเค็น ดูข้อมูลเพิ่มเติมได้ที่ นโยบาย Get OAuth V2 Info และ นโยบาย Set OAuth V2 Info
AccessToken ควรอ้างอิงตัวแปรที่
มีโทเค็นเพื่อการเข้าถึง
นอกจากนี้ คุณยังใช้ Edge API เพื่ออัปเดตแอตทริบิวต์ที่กำหนดเองซึ่งแนบอยู่กับโทเค็นได้ด้วย ดูเอกสารประกอบเกี่ยวกับ API สำหรับเมธอด Update OAuth 2.0 Access Token