หมายเหตุ
การเข้าถึงหน้านี้ต้องได้รับการอนุญาต คุณสามารถลอง ลงชื่อเข้าใช้หรือเปลี่ยนไดเรกทอรีได้
การเข้าถึงหน้านี้ต้องได้รับการอนุญาต คุณสามารถลองเปลี่ยนไดเรกทอรีได้
ผู้ให้บริการข้อมูลประจำตัว OpenID Connect มีการบริการที่สอดคล้องกับ ข้อกำหนด OpenID Connect OpenID Connect แนะนำแนวคิดของID โทเค็น โทเค็นรหัสเป็นโทเค็นการรักษาความปลอดภัยที่อนุญาตให้ไคลเอ็นต์ตรวจสอบตัวตนของผู้ใช้ นอกจากนี้ โทเค็นรหัสยังได้รับข้อมูลโปรไฟล์พื้นฐานเกี่ยวกับผู้ใช้ หรือเรียกกันว่า การอ้างสิทธิ์
ผู้ให้บริการ OpenID Connect B2C Azure AD, ID Microsoft Entra, และ ID Microsoft Entra ที่มีผู้เช่าหลายราย สร้างขึ้นใน Power Pages บทความนี้อธิบายวิธีเพิ่มผู้ให้บริการข้อมูลประจำตัว OpenID Connect รายอื่นในไซต์ Power Pages ของคุณ
โฟลว์การตรวจสอบสิทธิ์ที่สนับสนุนและไม่สนับสนุนใน Power Pages
- การให้สิทธิ์โดยนัย
- โฟลว์นี้เป็นวิธีการรับรองความถูกต้องเริ่มต้นสำหรับไซต์ Power Pages
- รหัสการอนุญาต
- Power Pages ใช้วิธีการ client_secret_post ในการสื่อสารกับตำแหน่งข้อมูลโทเค็นของเซิร์ฟเวอร์ข้อมูลประจำตัว
- ไม่รองรับการใช้วิธีการ private_key_jwt ในการตรวจสอบความถูกต้องกับตำแหน่งข้อมูลโทเค็น
- ไฮบริด (การสนับสนุนที่จำกัด)
- Power Pages ต้องการให้ id_token แสดงในการตอบ ดังนั้น response_type = โทเค็นโค้ด จึงไม่มีการรองรับ
- โฟลว์ไฮบริดใน Power Pages เป็นไปตามโฟลว์เดียวกับโฟลว์การให้สิทธิ์โดยนัย และใช้ id_token เพื่อลงชื่อเข้าให้ผู้ใช้โดยตรง
- คีย์การพิสูจน์สำหรับการแลกเปลี่ยนโค้ด (PKCE)
- ไม่รองรับเทคนิคที่ใช้ PKCE เพื่อรับรองความถูกต้องของผู้ใช้
หมายเหตุ
การเปลี่ยนแปลงไปยังการตั้งค่าการรับรองความถูกต้องของไซต์ของคุณ อาจใช้เวลาสักครู่ เพื่อให้มีการแสดงในพอร์ทัล หากต้องการดูการเปลี่ยนแปลงทันที ให้เริ่มระบบของไซต์ใหม่ใน ศูนย์การจัดการ
ตั้งค่าผู้ให้บริการ OpenID Connect ใน Power Pages
ในไซต์ Power Pages ของคุณ ให้เลือก ความปลอดภัย>ผู้ให้บริการข้อมูลประจำตัว
หากไม่มีผู้ให้บริการข้อมูลประจำตัวปรากฏขึ้น ตรวจสอบว่า การเข้าสู่ระบบจากภายนอก ตั้งค่าเป็น เปิด ในการตั้งค่าการรับรองความถูกต้องทั่วไปของไซต์ของคุณ
เลือก + ผู้ให้บริการใหม่
ภายใต้ เลือกผู้ให้บริการเข้าสู่ระบบ เลือก อื่นๆ
ภายใต้ โปรโตคอล เลือก OpenID Connect
ป้อนชื่อของผู้ให้บริการ
ชื่อผู้ให้บริการคือข้อความบนปุ่มที่ผู้ใช้เห็นเมื่อเลือกผู้ให้บริการข้อมูลประจำตัวในหน้าลงชื่อเข้าใช้
เลือก ถัดไป
ภายใต้ URL ตอบกลับ เลือก คัดลอก
อย่าปิดแท็บเบราว์เซอร์ Power Pages ของคุณ คุณจะกลับมาที่นี่เร็วๆ นี้
สร้างการลงทะเบียนแอปในผู้ให้บริการข้อมูลประจำตัว
สร้างและลงทะเบียนแอปพลิเคชันกับผู้ให้บริการข้อมูลประจำตัวของคุณโดยใช้ URL ตอบกลับ ที่คุณคัดลอก
คัดลอกแอปพลิเคชันหรือรหัสไคลเอ็นต์และข้อมูลลับไคลเอ็นต์
ค้นหาตำแหน่งข้อมูลของแอปพลิเคชันและคัดลอก URL ของ เอกสารเมตาดาต้า OpenID Connect
เปลี่ยนการตั้งค่าอื่นๆ ตามความจำเป็นสำหรับผู้ให้บริการข้อมูลประจำตัวของคุณ
ป้อนการตั้งค่าไซต์ใน Power Pages
กลับไปที่เพจ กำหนดค่าผู้ให้บริการข้อมูลประจำตัว ของ Power Pages ที่คุณทิ้งไว้ก่อนหน้านี้ และป้อนค่าต่อไปนี้ หรือเปลี่ยน การตั้งค่าเพิ่มเติม ตามต้องการ เลือก ยืนยัน เมื่อคุณดำเนินการเสร็จสิ้นแล้ว
หน่วยงาน: ป้อน URL หน่วยงานในรูปแบบต่อไปนี้:
https://login.microsoftonline.com/<Directory (tenant) ID>/
โดยที่ <ID ไดเรกทอรี (ผู้เช่า) > เป็น ID ไดเรกทอรี (ผู้เช่า) ของแอปพลิเคชันที่คุณสร้างขึ้น ตัวอย่างเช่น ถ้า รหัสไดเรกทอรี (ผู้เช่า) ในพอร์ทัล Azure คือaaaabbbb-0000-cccc-1111-dddd2222eeee
URL ของหน่วยงานคือhttps://login.microsoftonline.com/aaaabbbb-0000-cccc-1111-dddd2222eeee/
รหัสไคลเอ็นต์: วางแอปพลิเคชันหรือรหัสไคลเอ็นต์ของแอปพลิเคชัน ที่คุณสร้างขึ้น
URL เปลี่ยนเส้นทาง: หากไซต์ของคุณใช้ชื่อโดเมนที่กำหนดเอง ให้ป้อน URL ที่กำหนดเอง มิฉะนั้น ปล่อยให้เป็นค่าเริ่มต้น ตรวจสอบให้แน่ใจว่าค่าตรงกับ URI เปลี่ยนเส้นทางของแอปพลิเคชัน ที่คุณสร้างขึ้น ทุกประการ
ที่อยู่เมตาดาต้า: วาง URL เอกสารเมตาดาต้า OpenID Connect ที่คุณคัดลอก
ขอบเขต: ป้อนรายการที่คั่นด้วยช่องว่างของขอบเขตที่จะร้องขอโดยใช้พารามิเตอร์
scope
ของ OpenID Connect ค่าเริ่มต้นคือopenid
ค่า
openid
เป็นข้อมูลบังคับ เรียนรู้เกี่ยวกับการอ้างสิทธิ์อื่นๆ ที่คุณสามารถเพิ่มได้ชนิดการตอบสนอง: ป้อนค่าพารามิเตอร์
response_type
ของ OpenID Connect ค่าที่เป็นไปได้ ได้แก่code
,code id_token
,id_token
,id_token token
และcode id_token token
ค่าเริ่มต้นคือcode id_token
ข้อมูลลับไคลเอ็นต์: วางข้อมูลลับไคลเอ็นต์จากแอปพลิเคชันผู้ให้บริการ ซึ่งอาจยังถูกอ้างอิงเป็น ข้อมูลลับของแอป หรือ ข้อมูลลับของผู้ใช้งาน จำเป็นต้องมีการตั้งค่านี้ หากชนิดการตอบคือ
code
ชนิดการตอบสนอง: ป้อนค่าพารามิเตอร์ response_mode ของ OpenID Connect ซึ่งควรเป็น
query
หากชนิดการตอบสนองคือcode
ค่าเริ่มต้นคือform_post
ออกจากระบบภายนอก: การตั้งค่านี้ควบคุมว่าไซต์ของคุณใช้การออกจากระบบแบบรวมศูนย์หรือไม่ ด้วยการออกจากระบบแบบรวมศูนย์ เมื่อผู้ใช้ออกจากระบบแอปพลิเคชันหรือไซต์ พวกเขาจะถูกลงชื่อออกจากแอปพลิเคชันและไซต์ทั้งหมดที่ใช้ผู้ให้บริการข้อมูลประจำตัวเดียวกัน เปิดเพื่อเปลี่ยนเส้นทางผู้ใช้ไปยังประสบการณ์ใช้งานลงชื่อออกแบบรวมศูนย์ เมื่อพวกเขาลงชื่อออกจากเว็บไซต์ ปิดเพื่อลงชื่อผู้ใช้ออกจากเว็บไซต์ของคุณเท่านั้น
URL เปลี่ยนเส้นทางหลังออกจากระบบ: ป้อน URL ที่ผู้ให้บริการข้อมูลประจำตัวควรเปลี่ยนเส้นทางผู้ใช้หลังจากลงชื่อออกจากระบบ ตำแหน่งนี้ควรถูกตั้งค่าอย่างเหมาะสมในการกำหนดค่าผู้ให้บริการข้อมูลประจำตัว
RP ที่เริ่มต้นการออกจากระบบ: การตั้งค่านี้ควบคุมว่าผู้ให้บริการที่ต้องการข้อมูลยืนยันตัวตน—แอปพลิเคชันไคลเอ็นต์ OpenID Connect—สามารถลงชื่อผู้ใช้ออกจากระบบได้หรือไม่ ในการใช้การตั้งค่านี้ ให้เปิด การออกจากระบบภายนอก
การตั้งค่าเพิ่มเติมใน Power Pages
การตั้งค่าเพิ่มเติมช่วยให้คุณควบคุมวิธีการรับรองความถูกต้องผู้ใช้กับผู้ให้บริการข้อมูลประจำตัว OpenID Connect ของคุณได้ดียิ่งขึ้น คุณไม่จำเป็นต้องตั้งค่าใด ๆ เหล่านี้ เพราะเป็นตัวเลือกทั้งหมด
ตัวกรองผู้ออก: ป้อนตัวกรองที่ใช้อักขระตัวแทนที่ตรงกับผู้ออกทั้งหมดในผู้เช่าทั้งหมด เช่น
https://sts.windows.net/*/
หากคุณกำลังใช้ Microsoft Entra ผู้ให้บริการรับรองความถูกต้อง ID ตัวกรอง URL ของผู้ออกจะเป็นhttps://login.microsoftonline.com/*/v2.0/
ตรวจสอบความถูกต้องผู้ชม: เปิดการตั้งค่านี้เพื่อตรวจสอบความถูกต้องของผู้ชมระหว่างการตรวจสอบโทเค็น
ผู้ชมที่ถูกต้อง: รายการของ URL ของผู้ชมที่คั่นด้วยจุลภาค
ตรวจสอบความถูกต้องผู้ออก: เปิดการตั้งค่านี้เพื่อตรวจสอบความถูกต้องของผู้ออกระหว่างการตรวจสอบโทเค็น
ผู้ออกที่ถูกต้อง: รายการของ URL ของผู้ออกที่คั่นด้วยจุลภาค
การแมปการอ้างสิทธิ์การลงทะเบียน และ การแมปการอ้างสิทธิ์การเข้าสู่ระบบ: ในการรับรองความถูกต้องผู้ใช้ การอ้างสิทธิ์ เป็นข้อมูลที่อธิบายข้อมูลประจำตัวนของผู้ใช้ เช่น ที่อยู่อีเมลหรือวันเกิด เมื่อคุณลงชื่อเข้าใช้แอปพลิเคชันหรือเว็บไซต์ แอปพลิเคชันจะสร้าง โทเค็น โทเค็นประกอบด้วยข้อมูลเกี่ยวกับข้อมูลประจำตัวของคุณ รวมถึงการอ้างสิทธิ์ใดๆ ที่เกี่ยวข้องกับโทเค็น โทเค็นใช้เพื่อรับรองความถูกต้องของข้อมูลประจำตัวของคุณเมื่อคุณเข้าถึงส่วนอื่นๆ ของแอปพลิเคชันหรือไซต์ หรือแอปพลิเคชันและไซต์อื่นๆ ที่เชื่อมต่อกับผู้ให้บริการข้อมูลประจำตัวเดียวกัน การแมปการอ้างสิทธิ์ เป็นวิธีการเปลี่ยนแปลงข้อมูลที่รวมอยู่ในโทเค็น สามารถใช้เพื่อปรับแต่งข้อมูลที่พร้อมใช้งานสำหรับแอปพลิเคชันหรือไซต์ และควบคุมการเข้าถึงคุณลักษณะหรือข้อมูล การแมปการอ้างสิทธิ์การลงทะเบียน แก้ไขการอ้างสิทธิ์ที่ปล่อยออกมาเมื่อคุณลงทะเบียนแอปพลิเคชันหรือเว็บไซต์ การแมปการอ้างสิทธิ์การเข้าสู่ระบบ แก้ไขการอ้างสิทธิ์ที่ปล่อยออกมาเมื่อคุณลงชื่อเข้าใช้แอปพลิเคชันหรือเว็บไซต์ เรียนรู้เพิ่มเติมเกี่ยวกับนโยบายการแมป
ข้อมูลผู้ใช้สามารถระบุได้สองวิธี:
- การอ้างสิทธิ์โทเค็น ID – แอตทริบิวต์ผู้ใช้พื้นฐาน เช่น ชื่อหรืออีเมลอยู่ในโทเค็น
- ตำแหน่งข้อมูล UserInfo – API ที่ปลอดภัยซึ่งส่งคืนข้อมูลผู้ใช้โดยละเอียดหลังจากการรับรองความถูกต้อง
เมื่อต้องการใช้ตำแหน่งข้อมูล UserInfo ให้สร้าง การตั้งค่าไซต์ ที่ชื่อ Authentication/OpenIdConnect/{ProviderName}/UseUserInfoEndpointforClaims และตั้งค่าเป็น true
หรือสร้างการตั้งค่าไซต์ที่ชื่อ Authentication/OpenIdConnect/{ProviderName}/UserInfoEndpoint และตั้งค่าเป็น URL ตำแหน่งข้อมูล UserInfo หากคุณไม่ได้ระบุการตั้งค่านี้ Power Pages จะพยายามค้นหาตำแหน่งข้อมูลจากเมตาดาต้า OIDC
การจัดการข้อผิดพลาด:
- หากไม่ได้ตั้งค่า URL ตำแหน่งข้อมูลและ Power Pages ไม่พบในเมตาดาต้า การลงชื่อเข้าใช้จะดำเนินต่อไปและบันทึกคำเตือน
- หากตั้งค่า URL ไว้แต่ไม่สามารถเข้าถึงได้ การงชื่อเข้าใช้จะดำเนินต่อไปพร้อมกับคำเตือน
- หากปลายทางส่งคืนข้อผิดพลาดในการรับรองความถูกต้อง (เช่น 401 หรือ 403) การเข้าสู่ระบบจะดำเนินต่อไปด้วยคำเตือนที่มีข้อความแสดงข้อผิดพลาด
ไวยากรณ์การแมป:
หากต้องการใช้การอ้างสิทธิ์ UserInfo ในการแมปการอ้างสิทธิ์การเข้าสู่ระบบหรือการลงทะเบียน ให้ใช้รูปแบบนี้:
fieldName = userinfo.claimName
ถ้าไม่ได้เปิดใช้งาน UseUserInfoEndpointforClaims การแมปที่ใช้คำนำหน้า
userinfo.
จะถูกละเว้นอายุการใช้งานปัจจุบัน: ป้อนอายุการใช้งานของค่าปัจจุบันในหน่วยนาที ค่าเริ่มต้นคือ 10 นาที
ใช้อายุการใช้งานโทเค็น: การตั้งค่านี้ควบคุมว่าอายุการใช้งานเซสชันการรับรองความถูกต้อง เช่น คุกกี้ ควรตรงกับโทเค็นการรับรองความถูกต้องหรือไม่ หากคุณเปิด ค่านี้จะแทนที่ค่า Application Cookie Expire Timespan ในการตั้งค่าไซต์ Authentication/ApplicationCookie/ExpireTimeSpan
การแมปผู้ติดต่อกับอีเมล: การตั้งค่านี้กำหนดว่าผู้ติดต่อได้รับการแมปกับที่อยู่อีเมลที่สอดคล้องกันเมื่อลงชื่อเข้าใช้หรือไม่
- เปิด: เชื่อมโยงกับเรกคอร์ดผู้ติดต่อที่ไม่ซ้ำกันที่มีที่อยู่อีเมลที่ตรงกัน และระบบจะกำหนดผู้ให้บริการข้อมูลประจำตัวภายนอกโดยอัตโนมัติไปยังผู้ติดต่อหลังจากที่ผู้ใช้ได้ลงชื่อเข้าใช้สำเร็จแล้ว
- ไม่ได้ใช้งาน
หมายเหตุ
พารามิเตอร์คำขอ UI_Locales ถูกส่งโดยอัตโนมัติในคำขอการรับรองความถูกต้องและถูกตั้งค่าเป็นภาษาที่เลือกในพอร์ทัล
พารามิเตอร์การอนุญาตอื่น ๆ
ใช้พารามิเตอร์การอนุญาตต่อไปนี้ แต่อย่าตั้งค่าภายในผู้ให้บริการ OpenID Connect ใน Power Pages:
acr_values: พารามิเตอร์ acr_values ช่วยให้ผู้ให้บริการข้อมูลประจำตัวบังคับใช้ระดับการรับประกันความปลอดภัย เช่น การรับรองความถูกต้องโดยใช้หลายปัจจัย (MFA) ช่วยให้แอประบุระดับการรับรองความถูกต้องที่จำเป็น
หากต้องการใช้พารามิเตอร์ acr_values ให้สร้าง การตั้งค่าไซต์ ที่ชื่อ Authentication/OpenIdConnect/{ProviderName}/AcrValues และตั้งค่าที่คุณต้องการ เมื่อคุณตั้งค่านี้ Power Pages จะรวมพารามิเตอร์ acr_values ในคำขอการอนุญาต
พารามิเตอร์การอนุญาตแบบไดนามิก: พารามิเตอร์แบบไดนามิกช่วยให้คุณปรับแต่งคำขอการอนุญาตสำหรับบริบทการใช้งานที่แตกต่างกัน เช่น แอปแบบฝังตัวหรือสถานการณ์ของผู้เช่าหลายราย
พารามิเตอร์พร้อมท์:
พารามิเตอร์นี้จะควบคุมว่าจะให้หน้าลงชื่อเข้าใช้หรือหน้าจอความยินยอมปรากฏขึ้นหรือไม่ เมื่อต้องการใช้ ให้เพิ่มการปรับแต่งเพื่อส่งเป็นพารามิเตอร์สตริงคิวรีไปยังตำแหน่งข้อมูล ExternalLogin
ค่าที่รองรับ:
- ไม่มี
- เข้าสู่ระบบ
- ความยินยอม
- select_account
รูปแบบ URL:
{PortalUrl}/Account/Login/ExternalLogin?ReturnUrl=%2F&provider={ProviderName}&prompt={value}
Power Pages ส่งค่านี้ไปยังผู้ให้บริการข้อมูลประจำตัวในพารามิเตอร์พร้อมท์
พารามิเตอร์คำใบ้การเข้าสู่ระบบ:
พารามิเตอร์นี้ช่วยให้คุณส่งตัวระบุผู้ใช้ที่รู้จัก เช่น อีเมล เพื่อกรอกล่วงหน้าหรือข้ามหน้าจอลงชื่อเข้าใช้ เมื่อต้องการใช้ ให้เพิ่มการปรับแต่งเพื่อส่งเป็นพารามิเตอร์สตริงคิวรีไปยังตำแหน่งข้อมูล ExternalLogin
รูปแบบ URL:
{PortalUrl}/Account/Login/ExternalLogin?ReturnUrl=%2F&provider={ProviderName}&login_hint={value}
วิธีนี้จะช่วยได้เมื่อผู้ใช้ลงชื่อเข้าใช้ผ่านข้อมูลประจำตัวอื่น เช่น Microsoft Entra ID หรือบัญชี Microsoft (MSA) ในเซสชันเดียวกันแล้ว
พารามิเตอร์การอนุญาตที่กำหนดเอง: ผู้ให้บริการข้อมูลประจำตัวบางรายรองรับพารามิเตอร์ที่เป็นกรรมสิทธิ์สำหรับลักษณะการทำงานการอนุญาตเฉพาะ Power Pages อนุญาตให้ผู้สร้างตั้งค่าและส่งผ่านพารามิเตอร์เหล่านี้อย่างปลอดภัย เมื่อต้องการใช้พารามิเตอร์เหล่านี้ ให้เพิ่มการปรับแต่งเพื่อส่งเป็นพารามิเตอร์สตริงคิวรีไปยังตำแหน่งข้อมูล ExternalLogin
สร้างการตั้งค่าไซต์ ที่ชื่อ Authentication/OpenIdConnect/{Provider}/AllowedDynamicAuthorizationParameters และตั้งค่าเป็นรายการชื่อพารามิเตอร์ที่คั่นด้วยเครื่องหมายจุลภาค เช่น param1,param2,param3
รูปแบบ URL ตัวอย่าง:
{PortalUrl}/Account/Login/ExternalLogin?ReturnUrl=%2F&provider={ProviderName}¶m1=value¶m2=value¶m3=value
หากพารามิเตอร์ใดๆ (param1, param2 หรือ param3) ไม่อยู่ในรายการพารามิเตอร์ที่อนุญาต Power Pages จะละเว้นพารามิเตอร์นั้น
การตั้งค่านี้จะกำหนดรายการพารามิเตอร์แบบกำหนดเองที่สามารถส่งในคำขอการให้สิทธิ์
ลักษณะการทำงาน
- ส่งผ่านพารามิเตอร์ในสตริงคิวรีของตำแหน่งข้อมูล ExternalLogin
- Power Pages รวมเฉพาะพารามิเตอร์ในรายการในคำขอการอนุญาต
- พารามิเตอร์เริ่มต้น เช่น prompt, login_hint และ ReturnUrl จะได้รับอนุญาตเสมอและไม่จำเป็นต้องแสดง
รูปแบบ URL ตัวอย่าง:
{PortalUrl}/Account/Login/ExternalLogin?ReturnUrl=%2F&provider={ProviderName}&custom_param=value
หาก custom_param ไม่อยู่ในรายการพารามิเตอร์ที่อนุญาต Power Pages จะละเว้นพารามิเตอร์นั้น
ดูเพิ่มเติม
ตั้งค่าผู้ให้บริการ OpenID Connect กับ Azure Active Directory (Azure AD) B2C
ตั้งค่าผู้ให้บริการ OpenID Connect กับ Microsoft Entra ID
คำถามที่ถามบ่อยเกี่ยวกับ OpenID Connect