หมายเหตุ
การเข้าถึงหน้านี้ต้องได้รับการอนุญาต คุณสามารถลอง ลงชื่อเข้าใช้หรือเปลี่ยนไดเรกทอรีได้
การเข้าถึงหน้านี้ต้องได้รับการอนุญาต คุณสามารถลองเปลี่ยนไดเรกทอรีได้
กําหนดค่าallowedRedirectUrisการrayfin/rayfin.ymlโทรกลับเพื่อการตรวจสอบสิทธิ์และการส่งต่อ Fabric single sign-on (SSO) การตั้งค่านี้เป็นรายการอนุญาตของต้นทางและ URL ที่ Rayfin สามารถเปลี่ยนเส้นทางไปยังหลังจากกระบวนการตรวจสอบสิทธิ์
ฉากหลังรองรับสองสถานการณ์:
- การส่งต่อ Fabric SSO
postMessage - การโทรกลับการตรวจสอบสิทธิ์มาตรฐาน
กําหนดค่าการตั้งค่าสําหรับทั้งแอปพัฒนาท้องถิ่นและแอป Fabric ที่ติดตั้งแล้ว
ตั้งค่าคอนฟิก allowedRedirectUris
เพิ่ม allowedRedirectUris ใต้ services.authrayfin/rayfin.yml:
services:
auth:
enabled: true
allowedRedirectUris:
- http://localhost:5173
| ฟิลด์ | ชนิด | ค่าเริ่มต้น | คำอธิบาย |
|---|---|---|---|
allowedRedirectUris |
string[] |
["http://localhost:5173"] |
อนุญาตให้เปลี่ยนเส้นทาง URI สําหรับการเรียกกลับการตรวจสอบสิทธิ์และการส่งต่อ Fabric SSO รวมแหล่งกําเนิดพื้นฐานสําหรับการยืนยันตัวตน Fabric |
เข้าใจว่า Fabric SSO ใช้แหล่งกําเนิดอย่างไร
โฟลว์ป๊อปอัพ Fabric SSO จะใช้จุดกําเนิดเปลือยของแอปคุณเป็นจุดเริ่มต้นเป้าหมายสําหรับการpostMessageส่งต่อ ต้นกําเนิดแบบเปลือยประกอบด้วยสคีม โฮสต์ และพอร์ตทางเลือก แต่ไม่มีเส้นทาง ตัวอย่างเช่น:
http://localhost:5173
ค่าต้องตรงกับค่าที่returnOriginส่งไปยังผู้ให้บริการยืนยันตัวตน Fabric สําหรับขั้นตอนการลงชื่อเข้าใช้ทั้งหมด ดูที่ กําหนดค่าการตรวจสอบสิทธิ์ Fabric SSO
เพิ่มแต่ละต้นทางที่แอปของคุณถูกให้บริการ ในโครงการส่วนใหญ่ รายการนี้จะรวมถึงเซิร์ฟเวอร์พัฒนาท้องถิ่นและต้นทางโฮสต์ที่ติดตั้งอยู่หนึ่งแห่งหรือมากกว่า
เข้าใจว่าอะไร rayfin up เพิ่มเข้ามา
เมื่อคุณเปิดใช้งานโฮสติ้ง npx rayfin up แบบคงที่ จะเพิ่มต้นทาง allowedRedirectUris เปล่าของโฮสติ้งโดยอัตโนมัติในทุกการปรับใช้ คุณไม่จําเป็นต้องเพิ่ม origin ที่ติดตั้งเอง
ต้นทางที่ติดตั้งจําเป็นสําหรับการส่งต่อ Fabric SSO postMessage รวมถึงเมื่อคุณปิดการตรวจสอบสิทธิ์ Fabric แบบโต้ตอบ
ตัวอย่างเช่น หาก URL โฮสต์ที่ติดตั้งคือ https://bold-river-a3f1bc9d02-westus2.webapp.example.com, การกําหนดค่าจะมีทั้งต้นทางภายในและที่ติดตั้งหลังจากติดตั้ง:
services:
auth:
allowedRedirectUris:
- http://localhost:5173
- https://bold-river-a3f1bc9d02-westus2.webapp.example.com
คําสั่งปรับใช้จะอัปเดต rayfin.yml และส่งการกําหนดค่าไปยัง backend ดังนั้น rayfin.yml โดยทั่วไปจะได้รับรายการที่โฮสต์บน Fabric หลังจากการติดตั้งครั้งแรก
รักษาขอบเขตของรายการอนุญาตให้แคบ
ถือว่า allowedRedirectUris เป็นขอบเขตความปลอดภัย ต้นทางทุกแห่งที่ระบุสามารถรับการส่งต่อ Fabric SSO หรือทําการเรียกกลับการตรวจสอบสิทธิ์สําหรับแอปของคุณได้
- เพิ่มเฉพาะต้นทางที่คุณให้บริการแอปของคุณ
- อย่าเพิ่มตัวอักษรแทนหรือแหล่งกําเนิดของบุคคลที่สาม
- ตรวจสอบรายการหลังจากคัดลอก
rayfin.ymlระหว่างโครงการหรือสภาพแวดล้อม - ลบต้นทางการปรับใช้ที่ล้าสมัยหลังจากที่คุณยืนยันว่าแอปไม่ได้ใช้งานแล้ว
ต้นกําเนิดที่เก่าจากโครงการหรือการติดตั้งอื่นอาจกลายเป็นเป้าหมายการเปลี่ยนเส้นทางโดยไม่ตั้งใจ
ใช้การเปลี่ยนแปลงการกําหนดค่า
หลังจากที่คุณเปลี่ยนแปลง allowedRedirectUrisให้ปรับใช้การกําหนดค่าที่อัปเดตแล้ว:
npx rayfin up
URI เปลี่ยนเส้นทางใหม่จะยังไม่พร้อมใช้งานสําหรับบริการยืนยันตัวตนที่ติดตั้งจนกว่าคุณจะนําการกําหนดค่าไปใช้
แก้ไขปัญหา REDIRECT URIs
Fabric SSO รายงานความไม่ตรงกันของแหล่งกําเนิด
ยืนยันว่า:
-
returnOriginเป็นจุดเริ่มต้นเปลือยเปล่าที่ไม่มีเส้นทาง -
returnOriginตรงกับรายการในallowedRedirectUris. - ต้นกําเนิดโฮสต์ที่ติดตั้งจะแสดงหลัง
npx rayfin up. - รูปแบบ โฮสต์ และพอร์ตตรงกัน รวมถึงพอร์ตพัฒนาท้องถิ่น
สําหรับการวินิจฉัย SSO เพิ่มเติม ดูที่ แก้ไขปัญหาการตรวจสอบสิทธิ์
การเปลี่ยนแปลงการกําหนดค่าจะไม่มีผล
รัน npx rayfin up เพื่อส่งการตั้งค่าที่อัปเดต rayfin.yml ไปยัง backend จากนั้นลองใช้กระบวนการยืนยันตัวตนใหม่อีกครั้ง
รายการนี้มีต้นกําเนิดที่ไม่คุ้นเคย
ตรวจสอบว่าต้นทางเป็นของเซิร์ฟเวอร์พัฒนาท้องถิ่นปัจจุบันหรือแอป Fabric ที่ติดตั้งแล้ว ถ้าไม่เป็นเช่นนั้น ให้ลบออกจากการตั้งค่า รัน npx rayfin upและตรวจสอบการตรวจสอบสิทธิ์จากแต่ละสภาพแวดล้อมที่คาดหวัง
ใช้พรอมต์ AI
คัดลอกพรอมต์ต่อไปนี้ไปยัง GitHub Copilot หรือเอเจนต์โค้ดอื่นที่มีสิทธิ์เข้าถึงโปรเจกต์ของคุณ:
Look at services.auth.allowedRedirectUris in my Rayfin project's rayfin/rayfin.yml.
List every origin currently in it and tell me, for each one, whether it looks like my local
development server, a Fabric-hosted deployment origin that rayfin up added automatically,
or something else that shouldn't be there. Flag anything that isn't clearly one of my own
app's origins, and propose a trimmed list. Do not remove entries without showing me the
before-and-after diff first.