การเอกสารสำหรับการรับรองของ Microsoft ใช้รับรองเหล่านี้เพื่อรับรองกับ Microsoft ใน n8n
คุณสามารถใช้ credentials เหล่านี้เพื่อตรวจสอบสิทธิ์ node ต่อไปนี้:
- Microsoft Dynamics CRM
- Microsoft Excel (OneDrive)
- Microsoft Excel (SharePoint)
- Microsoft Graph Security
- Microsoft OneDrive
- Microsoft Outlook
- Microsoft Outlook Trigger
- Microsoft SharePoint
- Microsoft Teams
- Microsoft Teams Trigger
- Microsoft To Do
การเลือกประเภท credentials (Choosing a credential type)
บาง nodes (เช่น Microsoft Excel (OneDrive) และ Microsoft OneDrive) ช่วยให้คุณเลือกระหว่างการรับรองที่กำหนดเองของ nodes (เช่น, Microsoft Excel OAuth2 API ) และเรื่องนี้ทั่วไป Microsoft OAuth2 API credential. คุณสามารถใช้ credential มากมายของ Microsoft nodes. เมื่อคุณใช้มันให้แน่ใจว่าคุณให้มัน scops แต่ละ nodes ต้อง. nodes ที่ไม่แสดงการลดลงนี้ใช้ credential ของพวกเขา node-specific. the Microsoft Excel (SharePoint) node only works with this generic credential (หรือ credentials Microsoft Entra Service Principal สำหรับการเข้าถึงแบบ app-only) โดยไม่รองรับ credentials เฉพาะ node ของ Microsoft Excel หรือ Microsoft SharePoint ส่วน Microsoft SharePoint node ใช้แนวทางเดียวกันตั้งแต่เวอร์ชัน 2 of the node, while version 1 keeps using the node-specific Microsoft SharePoint credential.
ข้อกำหนดเบื้องต้น
- สร้างก ซอฟต์แวร์ Azure บัญชี
- สร้างบัญชีผู้ใช้อย่างน้อยหนึ่งที่มีการเข้าถึงบริการที่เหมาะสม
- หากบัญชี Microsoft Entra ขององค์กรจัดการบัญชีผู้ใช้บัญชีผู้ดูแลระบบได้เปิดใช้งานตัวเลือก "ผู้ใช้สามารถยอมรับแอปที่เข้าถึงข้อมูล บริษัท ในนามของพวกเขา" สำหรับผู้ใช้นี้ (ดูที่: เอกสารประกอบของ Microsoft Entra ).
วิธีการรับรองความถูกต้องที่รองรับ
- OAuth2
ทรัพยากรที่เกี่ยวข้อง
โปรดดูเอกสาร API ของ Microsoft ที่เชื่อมโยงด้านล่างสำหรับข้อมูลเพิ่มเติมเกี่ยวกับ API ของแต่ละบริการ:
- การทำงานของ CRM: เว็บแคมไฟ
- Excel : กราฟิกไฟ
- การรักษาความปลอดภัยกราฟ: กราฟิกไฟ
- OneDrive : กราฟิกไฟ
- Outlook : กราฟิกไฟ และ ปั๊ม Outlook
- ทีม : กราฟิกไฟ
- เพื่อทำ: กราฟิกไฟ
การใช้ OAuth2
หมายเหตุสำหรับผู้ใช้ n8n Cloud (Note for n8n Cloud users)
ผู้ใช้ระบบคลาวด์ไม่จำเป็นต้องระบุรายละเอียดการเชื่อมต่อ เลือก Connect my account เพื่อเชื่อมต่อผ่านเบราว์เซอร์ของคุณ
บางบริการของ Microsoft ต้องการข้อมูลเพิ่มเติมสำหรับ OAuth2 การตั้งค่าเฉพาะบริการ สำหรับคำแนะนำเพิ่มเติมเกี่ยวกับบริการเหล่านี้
ผู้ใช้ที่โฮสต์ตัวเองสามารถกำหนด OAuth2 จาก scratch ในสองขั้นตอนหลัก:
- ลงทะเบียนใบสมัคร ด้วยแพลตฟอร์มข้อมูลประจำตัวของ Microsoft
- เพิ่มใบรับรองไปยังแอพลิเคชันนี้โดยทั้งโดย สร้าง Client Secret หรือ การลงทะเบียนใบรับรอง .
ทำตามคำแนะนำโดยละเอียดสำหรับแต่ละขั้นตอนด้านล่าง สำหรับรายละเอียดเพิ่มเติมเกี่ยวกับโฟลว์เว็บ Microsoft OAuth2 โปรดดูที่ การรับรองความถูกต้องและการอนุญาตเบื้องต้นของ Microsoft .
ลงทะเบียนใบสมัคร (Register an application)
ลงทะเบียนแอปพลิเคชันด้วย Microsoft Identity Platform:
- เปิด พอร์ทัลการลงทะเบียนแอปพลิเคชัน Microsoft .
- เลือก ลงทะเบียนใบสมัคร (Register an application).
- ป้อนก Name สำหรับแอปของคุณ
- ใน ประเภทบัญชีที่รองรับ (Supported account types) ให้เลือก บัญชีในไดเรกทอรีขององค์กรใดๆ (ไดเรกทอรี Azure AD ใดๆ - ผู้เช่าหลายราย) และบัญชี Microsoft ส่วนบุคคล (เช่น Skype, Xbox) .
- ใน ลงทะเบียนใบสมัคร (Register an application):
- คัดลอก OAuth Callback URL จาก credentials n8n ของคุณ
- วางลงใน Redirect URI (optional) สนาม
- เลือก เลือกแพลตฟอร์ม (Select a platform) > Web.
- เลือก Register เพื่อเสร็จสิ้นการสร้างแอปพลิเคชันของคุณ
- คัดลอก Application (client) ID และวางลงใน n8n เป็น Client ID.
อ้างถึง ลงทะเบียนแอปพลิเคชันด้วย Microsoft Identity Platform สำหรับข้อมูลเพิ่มเติม
สร้าง Client Secret (Generate a client secret)
เมื่อสร้างแอปพลิเคชันของคุณแล้ว ให้สร้างความลับไคลเอ็นต์สำหรับมัน:
- บนหน้าแอปพลิเคชัน Microsoft ของคุณ ให้เลือก ใบรับรองและความลับ (Certificates & secrets) ในการนำทางด้านซ้าย
- ใน Client Secret (Client secrets) ให้เลือก + Client Secret ใหม่ (+ New client secret).
- ป้อนก Description สำหรับ Client Secret ของคุณ เช่น
n8n credential. - เลือก Add.
- คัดลอก Secret ใน Value คอลัมน์
- วางลงใน n8n เป็น Client Secret.
- หากคุณเห็น fields อื่น ๆ ใน n8n credential หมายถึง การตั้งค่าเฉพาะบริการ ด้านล่างเพื่อให้คำแนะนำเกี่ยวกับการเสร็จสิ้นพื้นที่เหล่านี้
- เลือก Connect my account ใน n8n เพื่อสิ้นสุดการตั้งค่าการเชื่อมต่อ
- ลงชื่อเข้าใช้บัญชี Microsoft ของคุณและอนุญาตให้แอปเข้าถึงข้อมูลของคุณ
อ้างอิงถึง Microsoft เพิ่มข้อมูลประจำตัว สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการเพิ่มรหัสลับไคลเอ็นต์
ตรวจสอบความถูกต้องด้วยใบรับรอง (Authenticate with a certificate)
แทนที่ Client Secret คุณสามารถรับรองการใช้งานด้วย การรับรอง (certificate) (ข้อตกลงของลูกค้าที่ได้รับการลงนามซึ่งยังเป็นที่รู้จักกันดีว่า private_key_jwt ). นี่เป็นประโยชน์เมื่อนโยบายความปลอดภัยขององค์กรของคุณไม่อนุญาตให้ข้อความลูกค้าความลับ การไหลของ OAuth2 จะไม่มีการเปลี่ยนแปลงอื่น ๆ: การลงชื่อเข้าเดียวกันหน้าจอความยินยอมและอนุญาตจะใช้. เท่านั้นการตรวจสอบการระบุตัวตนของแอพพลิเคชันในการแลกเปลี่ยน token และอัปเดตการเปลี่ยนแปลงจากความลับไปสู่การยืนยันที่ลงทะเบียน
วิธีการรับรองแบบ default คือ Client Secret , ดังนั้นการรับรองที่มีอยู่ยังคงทำงาน สวิตช์การรับรองเพื่อ Certificate เท่านั้นเมื่อคุณต้องการใช้หนึ่ง
สร้างใบรับรอง (Generate a certificate)
หากคุณไม่ได้มีหนึ่งแล้วสร้างใบรับรองที่ลงทะเบียนด้วยตนเองและกุญแจส่วนตัว OpenSSL :
openssl req -x509 -newkey rsa:2048 -nodes \
-keyout private-key.pem \
-out certificate.pem \
-days 365 \
-subj "/CN=n8n-microsoft-cert"
นี้ผลิตไฟล์สองไฟล์:
private-key.pem: คีย์ส่วนตัว RSA เก็บเป็นส่วนตัว: คุณใส่มันใน n8n และ n8n ไม่เคยส่งมันไปยัง Microsoftcertificate.pem: การรับรองสาธารณะ คุณอัปโหลดข้อมูลนี้ไปยังการลงทะเบียนแอป Entra ของคุณ
คีย์ส่วนตัวจะต้องเป็น RSA n8n sign the client assertion with RS256, ดังนั้น EC และ Ed25519 คีย์ไม่ทำงาน
ลงทะเบียนใบรับรองในแอปของคุณ (Register the certificate on your app)
- บนหน้าแอปพลิเคชัน Microsoft ของคุณ ให้เลือก ใบรับรองและความลับ (Certificates & secrets) ในการนำทางด้านซ้าย
- เลือก Certificates แท็บแล้วเลือก รับรองอัปโหลด (Upload certificate).
- เลือกของคุณ
certificate.pemไฟล์ (ใบรับรองสาธารณะไม่ใช่กุญแจส่วนตัว) - เข้าสู่ตัวเลือก Description เช่น
n8n credentialจากนั้นเลือก Add.
อ้างอิงถึง Microsoft เพิ่มข้อมูลประจำตัว สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการเพิ่มใบรับรอง
เสร็จสิ้นการรับรองใน n8n (Complete the credential in n8n)
- ชุด Authentication ถึง Certificate.
- เคลือบเนื้อหาของ
private-key.pemเข้าสู่ Private Key สนาม - เคลือบเนื้อหาของ
certificate.pemเข้าสู่ Certificate สนาม - หากคุณเห็น fields อื่น ๆ ใน n8n credential หมายถึง การตั้งค่าเฉพาะบริการ ด้านล่างเพื่อให้คำแนะนำเกี่ยวกับการเสร็จสิ้นพื้นที่เหล่านี้
- เลือก Connect my account ใน n8n เพื่อสิ้นสุดการตั้งค่าการเชื่อมต่อ
- ลงชื่อเข้าใช้บัญชี Microsoft ของคุณและอนุญาตให้แอปเข้าถึงข้อมูลของคุณ
Token refresh ยังใช้ใบรับรองดังนั้น n8n ไม่เคยส่ง Client Secret
Microsoft Graph API Base URL
การรับรองของ Microsoft OAuth2 สนับสนุนสภาพแวดล้อมคลาวด์ของ Microsoft ที่แตกต่างกัน เลือกจุดสิ้นสุดที่เหมาะสมขึ้นอยู่กับสภาพแวดล้อมคลาวด์ของผู้เช่าของคุณ:
- Global : ใช้สำหรับผู้เช่า Microsoft 365 มาตรฐาน (เริ่มต้น)
- US Government : ใช้สำหรับผู้เช่า Azure อเมริกัน (GCC)
- US Government DOD : ใช้สำหรับ Azure อเมริกันรัฐบาลฝ่ายคุ้มครองผู้เช่า
- China : ใช้สำหรับ Microsoft 365 ที่ดำเนินการโดย 21Vianet ในประเทศจีน
การตั้งค่านี้จะใช้สำหรับ Microsoft Graph API ทั้งหมดที่ใช้การรับรองของ Microsoft รวมถึง:
- ทีมไมโครซอฟต์
- ไมโครซอฟต์ เอาท์ลุค
- ไมโครซอฟต์ เอ็กเซล (วันไดรฟ์)
- ไมโครซอฟต์ เอ็กเซล (SharePoint)
- ไมโครซอฟต์ วันไดรฟ์
- ความปลอดภัยของไมโครซอฟต์กราฟ
- Microsoft SharePoint (จากเวอร์ชัน 2 ของปุ่ม)
- ไมโครซอฟต์สิ่งที่ต้องทำ
Government Cloud Authorization URLs
หากคุณใช้ผู้เช่าระบบคลาวด์ของรัฐบาลคุณอาจจำเป็นต้องปรับปรุง Authorization URL และ Access Token URL fields in your credential to use the government cloud endpoints ตัวอย่างเช่น:
- อเมริกัน: ใช้
https://login.microsoftonline.us/{tenant}/oauth2/v2.0/authorizeและhttps://login.microsoftonline.us/{tenant}/oauth2/v2.0/token - แทนที่
{tenant}ด้วย ID ของคุณเช่าหรือใช้commonสำหรับแอปพลิเคชัน Multi-tenant
Custom Scopes
ระบุอนุญาตส่วนใหญ่สำหรับการโต้ตอบกับบริการ Microsoft ต่อไปนี้:
- ทีมไมโครซอฟต์
- ไมโครซอฟต์ เอ็กเซล
- ไมโครซอฟต์ เอาท์ลุค
- ไมโครซอฟต์ SharePoint
- ไมโครซอฟต์ วันไดรฟ์
เพื่อเลือกสป็อตที่แตกต่างกันสำหรับหนึ่งในใบรับรองเหล่านี้ช่วยให้ Custom Scopes เลื่อนและแก้ไข Enabled Scopes รายการ คุณสมบัติบางอย่างอาจไม่ทำงานตามที่คาดหวังกับเป้าหมายที่ จำกัด มากขึ้น
คะแนนเริ่มต้นสำหรับ Microsoft Outlook (Default scopes for Microsoft Outlook)
การรับรองของ Microsoft Outlook ใช้จุดประสงค์ต่อไปนี้โดยเริ่มต้น:
openidoffline_accessContacts.ReadContacts.ReadWriteCalendars.ReadCalendars.Read.SharedCalendars.ReadWriteMail.ReadWriteMail.ReadWrite.SharedMail.SendMail.Send.SharedMailboxSettings.Read
คะแนนเริ่มต้นสำหรับ Microsoft SharePoint (Default scopes for Microsoft SharePoint)
การรับรองของ Microsoft SharePoint ใช้วัตถุต่อไปนี้โดยเริ่มต้น:
openidoffline_accesshttps://<subdomain>.sharepoint.com/.defaultที่คุณจะแทนที่<subdomain>ด้วยการรับรอง Subdomain ราคา
คู่มือเริ่มต้นสำหรับ Microsoft OneDrive (Default scopes for Microsoft OneDrive)
การรับรองของ Microsoft OneDrive ใช้จุดประสงค์ต่อไปนี้โดยเริ่มต้น:
openidoffline_accessFiles.ReadWrite.All
ขอบเขตเริ่มต้นสำหรับ Microsoft Teams (Default scopes for Microsoft Teams)
การรับรองของ Microsoft Teams ใช้ข้อกำหนดต่อไปนี้โดยเริ่มต้น:
openidoffline_accessUser.Read.AllGroup.ReadWrite.AllChat.ReadWriteChannelMessage.Read.AllChannelMessage.ReadWrite(ที่มีอยู่จาก n8n 2.40.0)OnlineMeetings.ReadWrite(สามารถใช้ได้จาก n8n 2.39.0)TeamworkTag.Read(ที่มีอยู่จาก n8n 2.41.0)
การตั้งค่าเฉพาะบริการ (Service-specific settings)
บริการต่อไปนี้ต้องการข้อมูลเพิ่มเติมสำหรับ OAuth2:
Dynamics
Dynamics OAuth2 ต้องการข้อมูลเกี่ยวกับโดเมนและภูมิภาค Dynamics ของคุณ ทำตามขั้นตอนต่อไปนี้เพื่อเสร็จสิ้นการรับรอง:
- เข้าสู่ไดนามิกของคุณ Domain.
- เลือกศูนย์ข้อมูล Dynamics Region คุณอยู่ภายใน
อ้างถึง Microsoft Datacenter ภูมิภาคเอกสาร สำหรับข้อมูลเพิ่มเติมเกี่ยวกับตัวเลือกภูมิภาคและ URL ที่เกี่ยวข้อง
Microsoft (general)
โดยทั่วไป Microsoft OAuth2 นอกจากนี้คุณต้องจัดหารายการที่แยกจากพื้นที่ของ Scope s สำหรับการรับรองนี้
อ้างถึง วัตถุประสงค์และอนุญาตในแพลตฟอร์มของ Microsoft Identity สำหรับรายการของสปูที่อาจเกิดขึ้น
N8n node documentation lists the exact scope each node needs ตัวอย่างเช่น Microsoft SharePoint (จากเวอร์ชัน 2) ให้ช่วงเต็มสายเช่น openid offline_access Sites.ReadWrite.All รวมถึง openid offline_access รู้สึกว่าการรับรองที่จำเป็นต้องฟื้นฟู tokens ของมัน
Outlook
Outlook OAuth2 รองรับการรับรองการเข้าถึงกล่องอีเมลหลักของผู้ใช้หรือกล่องอีเมลที่แบ่งปัน โดยเริ่มต้นการรับรองจะเข้าถึงกล่องอีเมลหลักของผู้ใช้ เพื่อเปลี่ยนพฤติกรรมนี้:
- เปิดเครื่อง Use Shared Inbox.
- ป้อน UPN หรือ ID ของผู้ใช้เป้าหมาย User Principal Name.
SharePoint
การตั้งค่าเหล่านี้ใช้สำหรับการรับรอง Microsoft SharePoint ที่กำหนดเองซึ่งใช้เวอร์ชัน 1 ของ Microsoft SharePoint node รุ่น 2 ของ node ใช้การรับรอง Microsoft OAuth2 โดยทั่วไป (ไม่มีโดเมนที่จำเป็น) หรือ Microsoft Entra Service Principal credentials หมายถึง The Microsoft SharePoint สำหรับ Scopes เพื่อเข้า
SharePoint OAuth2 ต้องการข้อมูลเกี่ยวกับ SharePoint ของคุณ Subdomain.
เพื่อเสร็จสิ้นการรับรองเข้าสู่ระบบ Subdomain ส่วนหนึ่งของ URL ของ SharePoint ของคุณ ตัวอย่างเช่นถ้า URL ของ SharePoint ของคุณเป็น https://tenant123.sharepoint.com ภายใต้โดเมนคือ tenant123.
SharePoint ต้องการอนุญาตต่อไปนี้:
ใบอนุญาตการใช้งาน:
Sites.Read.AllSites.ReadWrite.All
การอนุญาตที่ได้รับอนุญาต:
SearchConfiguration.Read.AllSearchConfiguration.ReadWrite.All
ปัญหาทั่วไป
ข้อผิดพลาดทั่วไปและปัญหาเกี่ยวกับการรับรอง Microsoft OAuth2:
ต้องได้รับการอนุมัติจากผู้ดูแลระบบ (Need admin approval)
เมื่อพยายามเพิ่มข้อมูลประจำตัวสำหรับบัญชี Microsoft360 หรือ Microsoft Entra ผู้ใช้อาจเห็นข้อความเมื่อทำตามขั้นตอนว่าการดำเนินการนี้ต้องได้รับอนุมัติจากผู้ดูแลระบบ
ข้อความนี้จะปรากฏขึ้นเมื่อบัญชีที่พยายามให้สิทธิ์สำหรับ credentials ได้รับการจัดการโดย Microsoft Entra ในการออก credentials บัญชีผู้ดูแลระบบจำเป็นต้องให้สิทธิ์แก่ผู้ใช้ (หรือ "ผู้เช่า") สำหรับแอปพลิเคชันนั้น
ขั้นตอนนี้จะครอบคลุมอยู่ใน เอกสารประกอบของ Microsoft Entra .

