page_type | ภาษา | สินค้า | คำอธิบาย | urlFragment |
---|
ตัวอย่าง | | สีฟ้า | แผนที่สีฟ้า | แอสปาเน็ตคอร์ | โฆษณาสีฟ้า |
| คอลเลกชันตัวอย่างที่แสดงวิธีรวม Azure Active Directory เข้ากับ Azure Maps | ตัวอย่าง AzureMapsAADS |
ตัวอย่างแผนที่ Azure และ Azure Active Directory
นี่คือตัวอย่าง 4 ตัวอย่างที่แตกต่างกันโดยใช้ AspNetCore C# เพื่อเริ่มการรับรองความถูกต้อง Azure AD ไปยัง Azure Maps อย่างรวดเร็ว แต่ละตัวอย่างใช้โปรโตคอลการรับรองความถูกต้องที่แตกต่างกัน ขึ้นอยู่กับความต้องการของแอปพลิเคชันซึ่งได้รับการสนับสนุนโดย Azure AD และ Azure Role Based Access Control (RBAC)
สารบัญ
สรุปเนื้อหาไฟล์ของที่เก็บ ช่วยให้ผู้ใช้สำรวจโค้ดเบส สร้างการกำหนดค่า และเนื้อหาที่เกี่ยวข้อง
ไฟล์/โฟลเดอร์ | คำอธิบาย |
---|
src/ImplicitGrant | ตัวอย่างที่ใช้เพื่อแสดงการรับรองความถูกต้องของผู้ใช้โดยไม่มีส่วนประกอบเซิร์ฟเวอร์ |
src/OpenIdConnect | ตัวอย่างการใช้โปรโตคอลที่แนะนำของ Microsoft สำหรับเว็บแอปพลิเคชันที่ปลอดภัย |
src/ClientGrant | ตัวอย่างแสดงการรับรองความถูกต้องของแอปพลิเคชันโดยที่ผู้ใช้ไม่ต้องโต้ตอบ |
.gitignore | กำหนดสิ่งที่ควรละเว้นในเวลาที่กระทำ |
CONTRIBUTING.md | แนวปฏิบัติในการบริจาคตัวอย่าง |
README.md | การอ่านเริ่มต้น |
LICENSE | ใบอนุญาตสำหรับตัวอย่าง |
ข้อกำหนดเบื้องต้น
ก่อนที่จะดาวน์โหลดตัวอย่างเหล่านี้
- Visual Studio 2019 หรือ Visual Studio Code พร้อม ASP.NET และปริมาณงานการพัฒนาเว็บ
- คุณจะต้องสมัครสมาชิก Azure ลงทะเบียนเพื่อรับบัญชีฟรีหากจำเป็น
- SKU ฟรี สำหรับ Azure Active Directory ที่เกี่ยวข้องกับการสมัครใช้งาน Azure
ตั้งค่า
ใน Azure Active Directory สร้างการลงทะเบียนแอปพลิเคชันใหม่
- การลงทะเบียนแอปพลิเคชันนี้จะเป็นตัวแทนของแอปพลิเคชันบนเว็บ
- แต่ละตัวอย่างเฉพาะจะอธิบายขั้นตอนที่จำเป็นสำหรับโปรโตคอลการตรวจสอบสิทธิ์ที่แตกต่างกัน
- เพื่อประโยชน์ของพื้นที่เก็บข้อมูลตัวอย่างนี้ คุณสามารถใช้ การลงทะเบียนแอปพลิเคชันเดียวกันได้
- สำหรับการใช้งานจริง เราขอแนะนำให้ลงทะเบียนแอปพลิเคชันที่แตกต่างกันสำหรับแต่ละแอปพลิเคชันบนเว็บ นอกจากนี้ เราขอแนะนำอย่างยิ่งให้ใช้ Azure Managed Identity สำหรับการตรวจสอบสิทธิ์แบบไม่โต้ตอบใดๆ กับ Azure Maps ซึ่งจะช่วยประหยัดต้นทุนการจัดการข้อมูลรับรอง
- สำหรับชื่อที่แสดง เราสามารถตั้งชื่อมันว่า "WebApp" และปล่อยให้ uri เปลี่ยนเส้นทางว่างไว้ก่อนแล้วติดตามตัวอย่างแต่ละรายการ
README.md
ในพอร์ทัล Azure ให้สร้างบัญชี Azure Maps
- ค้นหา "Azure Maps" ในการสร้างทรัพยากรใหม่และติดตามพอร์ทัลเพื่อสร้างบัญชีใหม่
- เมื่อสร้างบัญชีแล้ว ให้ดึงรหัสไคลเอ็นต์ Azure Maps และเตรียมตัวอย่างที่คุณต้องการเรียกใช้ไว้
- ค่านี้ควรใช้ใน x-ms-client-id พร้อมคำขอ HTTP ทั้งหมด
- หากใช้ SDK ใด ๆ ให้เพิ่มลงในตัวเลือกการตรวจสอบสิทธิ์ (JS)
ดำเนินการตัวอย่าง
- การรันตัวอย่าง Web Applicaton อิงตามเอกสารประกอบ AspNetCore MVC v2.2
- เมื่อกำหนดค่า README.md ตัวอย่างแต่ละรายการทั้งหมดแล้ว Debug (ปุ่ม F5) ควรสร้างและเริ่มแอปพลิเคชัน
- ตรวจสอบให้แน่ใจว่าได้เรียกใช้เว็บแอปพลิเคชันโดยกำหนดค่า HTTPS
- หากได้รับแจ้งให้พัฒนาใบรับรอง HTTPS ผ่าน IIS หรือ AspNetCore ให้ยอมรับพร้อมท์เพื่อเชื่อถือใบรับรอง
แนวคิดหลัก
- การใช้ Azure Maps Web SDK รองรับ 2 วิธีสำหรับโทเค็นการเข้าถึง Azure AD
- หากมีส่วนประกอบเซิร์ฟเวอร์ เช่น AspNetCore MVC สำหรับแอปพลิเคชันของคุณ เราขอแนะนำ OpenID Connect
- ในกรณีที่ไม่มีส่วนประกอบเซิร์ฟเวอร์ คุณต้องใช้การให้สิทธิ์โดยนัยสำหรับประสบการณ์การลงชื่อเข้าใช้แบบโต้ตอบของผู้ใช้ อย่างไรก็ตาม ในกรณีที่ไม่มีการลงชื่อเข้าใช้แบบโต้ตอบ ต้องมีส่วนประกอบเซิร์ฟเวอร์บางอย่างอยู่เพื่อดึงโทเค็นการเข้าถึงและมอบให้กับ Azure Maps Web SDK
- การใช้ Azure Service Authentication Library จะช่วยลดความซับซ้อนและต้นทุนในการจัดการข้อมูลประจำตัว และช่วยให้ Azure Managed Identities สามารถใช้บนแพลตฟอร์มที่โฮสต์ได้ เช่น Azure Virtual Machines หรือ Azure App Service
มีส่วนร่วม
โครงการนี้ยินดีรับการสนับสนุนและข้อเสนอแนะ การบริจาคส่วนใหญ่กำหนดให้คุณยอมรับข้อตกลงใบอนุญาตผู้ร่วมให้ข้อมูล (CLA) โดยประกาศว่าคุณมีสิทธิ์ที่จะให้สิทธิ์แก่เราในการใช้การบริจาคของคุณจริงๆ สำหรับรายละเอียด โปรดไปที่ https://cla.opensource.microsoft.com
เมื่อคุณส่งคำขอดึง บอท CLA จะกำหนดโดยอัตโนมัติว่าคุณจำเป็นต้องจัดเตรียม CLA และตกแต่ง PR อย่างเหมาะสมหรือไม่ (เช่น การตรวจสอบสถานะ ความคิดเห็น) เพียงทำตามคำแนะนำที่ได้รับจากบอท คุณจะต้องทำสิ่งนี้เพียงครั้งเดียวกับ repos ทั้งหมดโดยใช้ CLA ของเรา
โครงการนี้ได้นำหลักจรรยาบรรณของ Microsoft Open Source มาใช้ สำหรับข้อมูลเพิ่มเติม โปรดดูคำถามที่พบบ่อยเกี่ยวกับจรรยาบรรณหรือติดต่อ [email protected] หากมีคำถามหรือความคิดเห็นเพิ่มเติม