แชร์ผ่าน


ตั้งค่าผู้ให้บริการ OpenID Connect

ผู้ให้บริการข้อมูลประจำตัว OpenID Connect มีการบริการที่สอดคล้องกับ ข้อกำหนด OpenID Connect OpenID Connect แนะนำแนวคิดของID โทเค็น โทเค็นรหัสเป็นโทเค็นการรักษาความปลอดภัยที่อนุญาตให้ไคลเอ็นต์ตรวจสอบตัวตนของผู้ใช้ นอกจากนี้ โทเค็นรหัสยังได้รับข้อมูลโปรไฟล์พื้นฐานเกี่ยวกับผู้ใช้ หรือเรียกกันว่า การอ้างสิทธิ์

OpenID Connect providers Microsoft Entra External ID, Microsoft Entra ID และ Microsoft Entra ID กับผู้เช่าหลายราย ถูกสร้างขึ้นใน 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

  1. ในไซต์ Power Pages ของคุณ ให้เลือก ความปลอดภัย>ผู้ให้บริการข้อมูลประจำตัว

    หากไม่มีผู้ให้บริการข้อมูลประจำตัวปรากฏขึ้น ตรวจสอบว่า การเข้าสู่ระบบจากภายนอก ตั้งค่าเป็น เปิด ในการตั้งค่าการรับรองความถูกต้องทั่วไปของไซต์ของคุณ

  2. เลือก + ผู้ให้บริการใหม่

  3. ภายใต้ เลือกผู้ให้บริการเข้าสู่ระบบ เลือก อื่นๆ

  4. ภายใต้ โปรโตคอล เลือก OpenID Connect

  5. ป้อนชื่อของผู้ให้บริการ

    ชื่อผู้ให้บริการเป็นข้อความบนปุ่มที่ผู้ใช้เห็นเมื่อเลือกผู้ให้บริการข้อมูลประจำตัวในหน้าลงชื่อเข้าใช้

  6. เลือก ถัดไป

  7. ภายใต้ URL ตอบกลับ เลือก คัดลอก

    อย่าปิดแท็บเบราว์เซอร์ Power Pages ของคุณ คุณจะกลับมาที่นี่เร็วๆ นี้

สร้างการลงทะเบียนแอปในผู้ให้บริการข้อมูลประจำตัว

  1. สร้างและลงทะเบียนแอปพลิเคชันกับผู้ให้บริการข้อมูลประจำตัวของคุณโดยใช้ URL ตอบกลับ ที่คุณคัดลอก

  2. คัดลอกแอปพลิเคชันหรือรหัสไคลเอ็นต์และข้อมูลลับไคลเอ็นต์

  3. ค้นหาตำแหน่งข้อมูลของแอปพลิเคชันและคัดลอก URL ของ เอกสารเมตาดาต้า OpenID Connect

  4. เปลี่ยนการตั้งค่าอื่นๆ ตามความจำเป็นสำหรับผู้ให้บริการข้อมูลประจำตัวของคุณ

ป้อนการตั้งค่าไซต์ใน 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/​

  • ID ไคลเอ็นต์​: วางแอปพลิเคชันหรือ ID ไคลเอ็นต์ของแอปพลิเคชัน ที่คุณสร้างขึ้น

  • 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}&param1=value&param2=value&param3=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 จะละเว้นพารามิเตอร์นั้น

ดูเพิ่มเติม

ตั้งค่า ID ภายนอกของ Microsoft Entra ด้วย Power Pages
ตั้งค่าผู้ให้บริการ OpenID Connect กับ Microsoft Entra ID
คำถามที่ถามบ่อยเกี่ยวกับ OpenID Connect