คุณกำลังดูเอกสารประกอบ Apigee Edge
ไปที่
เอกสารประกอบเกี่ยวกับ Apigee X. ข้อมูล
เกี่ยวกับข้อมูลเมตาของโทเค็น
Apigee Edge สร้างโทเค็นเพื่อการเข้าถึง OAuth, โทเค็นการรีเฟรช และรหัสการให้สิทธิ์ และ แล้วส่งไปยังแอปที่ตรวจสอบสิทธิ์แล้ว ในขณะสร้าง Edge จะจัดเก็บโทเค็นและรหัสเหล่านั้นไว้ จากนั้น เมื่อ Edge ได้รับคำขอ API ขาเข้าที่มีโทเค็นหรือรหัสเหล่านี้ Edge จะใช้ ข้อมูลที่จัดเก็บไว้เพื่อให้สิทธิ์คำขอ
เมื่อ Edge สร้างอาร์ติแฟกต์ OAuth เหล่านี้ ระบบจะแนบข้อมูลเมตากับโทเค็นหรือโค้ดด้วย สำหรับ เช่น โทเค็นเพื่อการเข้าถึงจะเชื่อมโยงกับคู่ชื่อ/ค่าที่กำหนดเวลาหมดอายุ แอปที่เกี่ยวข้อง รวมถึงนักพัฒนาซอฟต์แวร์ และข้อมูลอื่นๆ
การแสดง JSON ของโทเค็นเพื่อการเข้าถึง Edge มีลักษณะดังนี้
{ "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 ข้อมูลเหล่านี้เรียกว่า "custom " หลังจากนั้น เมื่อโทเค็นได้รับการยืนยันภายในขอบเขตของคำขอ 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
- expir_in //--ใน วินาที
- สถานะ
- ขอบเขต
- apiproduct.name*
หากมีแอตทริบิวต์ที่กำหนดเองบนโทเค็น แอตทริบิวต์ที่กำหนดเองเหล่านั้นจะสามารถใช้ได้ใน
ตัวแปรบริบทที่ชื่อว่า accesstoken.{custom_attribute}
ตัวอย่างเช่น
สมมติว่าโทเค็นออกมาจากนโยบายที่แสดงด้านบน หลังจากยืนยันโทเค็นดังกล่าว
เป็นตัวแปรบริบทเพิ่มเติมชื่อ accesstoken.tenant_list
ซึ่งมีค่า
ค่าที่จัดเก็บไว้ในขณะที่สร้างโทเค็น
จากนั้นนโยบายหรือเงื่อนไขจะอ้างอิงตัวแปรเหล่านี้และแก้ไขลักษณะการทำงานตาม ที่เก็บไว้ภายใน
การตั้งค่าและการอัปเดตแอตทริบิวต์ที่กำหนดเองที่ เวลาทำงาน
ในบางสถานการณ์ คุณอาจต้องการให้พร็อกซี API อัปเดตข้อมูลเมตาที่เชื่อมโยงกับ โทเค็นเพื่อการเข้าถึงขณะรันไทม์ขณะกำลังประมวลผลการเรียก API บน Apigee Edge เพื่อช่วยคุณในเรื่องนี้ Apigee ได้กำหนดนโยบายสำหรับการรับและตั้งค่าแอตทริบิวต์โทเค็น สำหรับข้อมูลเพิ่มเติม โปรดดู รับข้อมูล OAuth V2 นโยบายและตั้งค่า OAuth นโยบายข้อมูล V2
AccessToken
ควรอ้างอิงถึงตัวแปรที่
จะมีโทเค็นเพื่อการเข้าถึง
นอกจากนี้ คุณยังใช้ Edge API เพื่ออัปเดตแอตทริบิวต์ที่กำหนดเองที่แนบมากับโทเค็นได้อีกด้วย ดู API สำหรับการอัปเดต วิธีโทเค็นเพื่อการเข้าถึง OAuth 2.0