Introduction


Recently, there have been questions from customers, partners and the community asking for comparisons between Joget Workflow and Microsoft SharePoint. Actually, the two products are not competing, but in fact complement each other.

SharePoint is a web application portal platform for team collaboration, intranets and enterprise document and content management. While it is possible to extend the capabilities of SharePoint through apps, developing apps for SharePoint is not easy as it requires traditional programming, as described in the SharePoint 2013 development overview article at https://msdn.microsoft.com/en-us/library/office/jj164084.aspx

On the other hand, Joget is a platform to easily build web apps and automate processes. With single sign-on (SSO) integration from SharePoint to Joget, organizations can easily extend the capability of SharePoint by allowing users to seamlessly access custom apps, visually design their own custom applications, or download ready made apps from the Joget Marketplace

This article describes how SSO can be achieved using Active Directory Federation Services (https://msdn.microsoft.com/en-us/library/bb897402.aspx), which supports the Security Assertion Markup Language (SAML) standard. 

บทนำ


เมื่อเร็ว ๆ นี้มีคำถามจากลูกค้าคู่ค้าและชุมชนที่ขอเปรียบเทียบระหว่าง Joget Workflow และ Microsoft SharePoint ที่จริงแล้วผลิตภัณฑ์ทั้งสองนั้นไม่ได้แข่งขันกัน แต่จริงๆแล้วเป็นการเติมเต็มซึ่งกันและกัน

SharePoint เป็นแพลตฟอร์มพอร์ทัลเว็บแอปพลิเคชันสำหรับการทำงานร่วมกันของทีมอินทราเน็ตและเอกสารองค์กรและการจัดการเนื้อหา แม้ว่าจะเป็นไปได้ที่จะขยายขีดความสามารถของ SharePoint ผ่านแอพการพัฒนาแอพสำหรับ SharePoint นั้นไม่ใช่เรื่องง่ายเพราะต้องใช้การเขียนโปรแกรมแบบดั้งเดิมดังที่อธิบายไว้ในบทความภาพรวมการพัฒนา SharePoint 2013 ที่ https://msdn.microsoft.com/en-us/library/office/jj164084.aspx

ในทางกลับกัน Joget เป็นแพลตฟอร์มสำหรับสร้างเว็บแอปและกระบวนการอัตโนมัติได้อย่างง่ายดาย ด้วยการรวมการลงชื่อเพียงครั้งเดียว (SSO) จาก SharePoint ถึง Joget องค์กรสามารถขยายขีดความสามารถของ SharePoint ได้อย่างง่ายดายโดยการอนุญาตให้ผู้ใช้เข้าถึงแอพที่กำหนดเองได้อย่างลงตัวออกแบบแอปพลิเคชันที่กำหนดเองของพวกเขาเอง

บทความนี้อธิบายวิธีการ SSO สามารถทำได้โดยใช้ Active Directory Federation Services (https://msdn.microsoft.com/en-us/library/bb897402.aspx) ซึ่งรองรับมาตรฐาน Security Assertion Markup Language (SAML)


Configuring Joget SharePoint SSO

การกำหนดค่า Joget SharePoint SSO

i. Pre-requisites

ข้อกำหนดเบื้องต้น

Before configuring the SharePoint-Joget SSO integration, you will need to have installed and configured:

ก่อนกำหนดค่าการรวม SharePoint-Joget SSO คุณจะต้องติดตั้งและกำหนดค่า:

The appendices provide some resources on installing and configuring these pre-requisites.

ภาคผนวกจัดเตรียมทรัพยากรบางอย่างเกี่ยวกับการติดตั้งและกำหนดค่าสิ่งที่จำเป็นต้องมีล่วงหน้าเหล่านี้


ii. Configure SAML for Joget 

กำหนดค่า SAML สำหรับ Joget

Export AD FS Token Signing Certificate

ส่งออกใบรับรองการลงชื่อโทเค็น FS โฆษณา

  1. In the Windows Server Manager, launch Tools > AD FD Management

    ใน Windows Server Manager ให้เปิดเครื่องมือ> การจัดการ FD โฆษณา


  2. In the AD FS Management console, select Service > Certificates in the left navigation pane.

    ในคอนโซล AD FS Management ให้เลือกบริการ> ใบรับรองในบานหน้าต่างนำทางด้านซ้าย

  3. Select the Token-signing certificate and click on the View Certificate link on the right pane. 

    เลือกใบรับรองการลงนามโทเค็นและคลิกที่ลิงค์ดูใบรับรองในบานหน้าต่างด้านขวา


  4. Click on the Details tab, and click on the Copy to File… button

    คลิกที่แท็บ Details แล้วคลิกที่ปุ่ม Copy to File ...


  5. This starts the Certificate Export Wizard. On the Welcome to the Certificate Export Wizard page, click Next.

    สิ่งนี้จะเริ่มตัวช่วยสร้างการส่งออกใบรับรอง ในหน้ายินดีต้อนรับสู่ตัวช่วยสร้างการส่งออกใบรับรองให้คลิกถัดไป

  6. On the Export Private Key page, click No, do not export the private key, and then click Next.

    ในหน้าส่งออกคีย์ส่วนตัวคลิกไม่ส่งออกคีย์ส่วนตัวแล้วคลิกถัดไป

  7. On the Export File Format page, select Base-64 encoded X.509 (.CER), and then click Next.

    ในหน้ารูปแบบไฟล์ส่งออกเลือก Base-64 ที่เข้ารหัส X.509 (.CER) แล้วคลิกถัดไป

  8. On the File to Export page, type the name and location of the file that you want to export, and then click Next. For example, enter C:\ADFS.cer.

    ในหน้าไฟล์ที่จะส่งออกพิมพ์ชื่อและที่ตั้งของไฟล์ที่คุณต้องการส่งออกแล้วคลิกถัดไป ตัวอย่างเช่นป้อน C: \ ADFS.cer

  9. On the Completing the Certificate Export Wizard page, click Finish.

    ในหน้าการดำเนินการตัวช่วยสร้างการส่งออกใบรับรองให้คลิกเสร็จสิ้น

Configure SAML Directory Manager for Joget 

กำหนดค่า SAML Directory Manager สำหรับ Joget

  1. Download the SAML Directory Manager from the Joget Marketplace

    ดาวน์โหลด SAML Directory Manager จาก Joget Marketplace

  2. In Joget, login as an administrator

    ใน Joget ให้ล็อกอินในฐานะผู้ดูแลระบบ

  3. In Settings > Manage Plugins, click on Upload Plugin. Select the downloaded JAR file and click on the Upload button to upload the downloaded JAR file

    ในการตั้งค่า> จัดการปลั๊กอินให้คลิกที่อัปโหลดปลั๊กอิน เลือกไฟล์ JAR ที่ดาวน์โหลดและคลิกที่ปุ่มอัปโหลดเพื่ออัปโหลดไฟล์ JAR ที่ดาวน์โหลด

  4. In Settings > Directory Manager, choose the SAML Directory Manager and click on Select.

    ในการตั้งค่า> ตัวจัดการไดเรกทอรีให้เลือก SAML Directory Manager แล้วคลิกเลือก

     

  5. Open the contents of the exported AD FS certificate in a text editor and copy the contents.

    เปิดเนื้อหาของใบรับรอง AD FS ที่ส่งออกในตัวแก้ไขข้อความและคัดลอกเนื้อหา

  6. In the Plugin Configuration page, paste the contents into the IDP Certificate field (copy-paste without the BEGIN and END lines) 

    ในหน้าการกำหนดค่าปลั๊กอินให้วางเนื้อหาลงในฟิลด์ใบรับรอง IDP (คัดลอกวางโดยไม่มีบรรทัด BEGIN และ END)


  7. Copy the value of the ACS URL (to be used in AD FS configuration later).

    คัดลอกค่าของ URL ACS (เพื่อใช้ในการกำหนดค่า AD FS ในภายหลัง)

  8. With User Provisioning Enabled checked, a user will be created on first login if the username does not already exist. To integrate with Active Directory directly to retrieve users and groups, configure the External Directory Manager to LDAP Directory Manager https://dev.joget.org/community/display/KBv5/LDAP+Directory+Manager

    เมื่อผู้ใช้เปิดใช้งานการตรวจสอบการจัดสรรผู้ใช้จะถูกสร้างขึ้นในการเข้าสู่ระบบครั้งแรกหากชื่อผู้ใช้นั้นไม่มีอยู่ หากต้องการรวมกับ Active Directory โดยตรงเพื่อดึงผู้ใช้และกลุ่มให้กำหนดค่าตัวจัดการไดเรกทอรีภายนอกเป็นตัวจัดการไดเรกทอรี LDAP https://dev.joget.org/community/display/KBv5/LDAP+Directory+Manager

  9. Click on Submit to save the settings.

    คลิกที่ส่งเพื่อบันทึกการตั้งค่า



iii. Configure Relying Party Trust between AD FS and Joget 

กำหนดค่า Relying Party Trust ระหว่าง AD FS และ Joget

Add Relying Party Trust

เพิ่มความไว้วางใจของพรรคที่เชื่อถือได้

  1. In the Windows Server Manager, launch Tools > AD FD Management

    ใน Windows Server Manager ให้เปิดเครื่องมือ> การจัดการ FD โฆษณา

  2. In the AD FS Management console, click on Trust Relationships > Relying Party Trusts in the left navigation pane.

    ในคอนโซล AD FS Management ให้คลิกที่ Trust Relationships> Trust Party Party ในบานหน้าต่างนำทางด้านซ้าย

  3. In the right page, click on Add Relying Party Trust

    ในหน้ายินดีต้อนรับสู่ตัวช่วยสร้างเพิ่มความน่าเชื่อถือของพรรคให้คลิกเริ่ม


  4. On the Welcome to the Add Relying Party Trust Wizard page, click Start.

    ในหน้ายินดีต้อนรับสู่ตัวช่วยสร้างเพิ่มความน่าเชื่อถือของพรรคให้คลิกเริ่ม

  5. Select Enter data about the relying party manually, and then click Next.

    เลือกป้อนข้อมูลเกี่ยวกับฝ่ายที่ต้องพึ่งพาด้วยตนเองแล้วคลิกถัดไป

  6. Type a relying party name (e.g. Joget) and then click Next.

    พิมพ์ชื่อปาร์ตี้ที่ต้องการ (เช่น Joget) แล้วคลิกถัดไป

  7. Make sure Active Directory Federation Services (AD FS) 2.0 Profile is selected, and then click Next.

    ตรวจสอบให้แน่ใจว่าได้เลือกโปรไฟล์ของ Active Directory Federation Services (AD FS) 2.0 แล้วคลิกถัดไป

  8. Do not use an encryption certificate. Click Next.

    อย่าใช้ใบรับรองการเข้ารหัส คลิกถัดไป

  9. Click to select the Enable support for the SAML 2.0 WebSSO protocol check box.

    คลิกเพื่อเลือกนั้นเปิดใช้งานการสนับสนุนสำหรับโปรโตคอล SAML 2.0 WebSSO

  10. In the Relying party SAML 2.0 SSO service URL field, type the URL copied from the Joget SAML Directory Manager earlier, e.g. https://mysite.cloud.joget.com/jw/web/json/plugin/org.joget.plugin.saml.SamlDirectoryManager/service

    ในฟิลด์ URL บริการ SAMO 2.0 SSO ของ บริษัท อื่นให้พิมพ์ URL ที่คัดลอกมาจาก Joget SAML Directory Manager ก่อนหน้านี้เช่น

    https://mysite.cloud.joget.com/jw/web/json/plugin/org.joget.plugin.saml.SamlDirectoryManager/service

  11. Paste the URL into the relying party trust identifier, and then click Add. Click Next.

    วาง URL ลงในตัวระบุความน่าเชื่อถือของ บริษัท ที่เชื่อถือได้จากนั้นคลิกเพิ่ม คลิกถัดไป

  12. Select Permit all users to access this relying party. Click Next.

    เลือกอนุญาตให้ผู้ใช้ทุกคนเข้าถึงปาร์ตี้ที่อาศัยนี้ คลิกถัดไป

  13. On the Ready to Add Trust page, there is no action required, click Next.

    ในหน้าพร้อมที่จะเพิ่มความน่าเชื่อถือไม่จำเป็นต้องดำเนินการใด ๆ คลิกถัดไป

  14. On the Finish page, click Close. This opens the Rules Editor Management console.

    บนหน้าเสร็จสิ้นคลิกปิด สิ่งนี้เปิดคอนโซลการจัดการกฎของตัวแก้ไข

Edit Claim Rules

แก้ไขกฎการอ้างสิทธิ์

  1. On the Issuance Transform Rules tab, click Add Rule

    บนแท็บกฎการแปลงการออกให้คลิกเพิ่มกฎ


  2. On the Select Rule Template page, select Send LDAP Attributes as Claims. Click Next.

    ในหน้าเลือกเทมเพลตกฎให้เลือกส่งแอตทริบิวต์ LDAP เป็นการเรียกร้อง คลิกถัดไป

  3. On the Configure Rule page, type the name of the claim rule in the Claim rule name field e.g. User Attributes.

    ในหน้ากำหนดค่ากฎให้พิมพ์ชื่อของกฎการอ้างสิทธิ์ในฟิลด์ชื่อกฎการอ้างสิทธิ์เช่น คุณสมบัติของผู้ใช้

  4. From the Attribute Store drop-down list, select Active Directory.

    จากรายการดรอปดาวน์ของที่เก็บแอตทริบิวต์เลือก Active Directory

  5. In the Mapping of LDAP attributes to outgoing claim types section, key in the following mappings: 

    ในส่วนการแม็พแอตทริบิวต์ LDAP กับประเภทการอ้างสิทธิ์ขาออกให้ป้อนการแมปต่อไปนี้:

    LDAP Attribute

    Outgoing Claim Type

    SAM-Account-Name

    Name ID

    E-Mail-Addresses

    email

    Given-Name

    User.FirstName

    Surname

    User.LastName

  6. Click Finish, and then click OK.

    คลิกเสร็จสิ้นแล้วคลิกตกลง

  7. At this point, the SSO should be operational. Test the login by accessing the the AD FS login page e.g. https://windows.local/adfs/ls/idpinitiatedsignon.aspx 

    ณ จุดนี้ SSO ควรทำงาน ทดสอบข้อมูลเข้าสู่ระบบโดยเข้าไปที่หน้าเข้าสู่ระบบ AD FS เช่น https://windows.local/adfs/ls/idpinitiatedsignon.aspx 


  8. Select the appropriate site e.g. Joget and click on Sign in.

    เลือกเว็บไซต์ที่เหมาะสมเช่น Joget และคลิกที่เข้าสู่ระบบ

  9. Login to SharePoint using your AD account 

    เข้าสู่ระบบ SharePoint โดยใช้บัญชีโฆษณาของคุณ


  10. On successful login, you should be automatically logged into Joget

    เมื่อลงชื่อเข้าใช้สำเร็จคุณควรลงชื่อเข้าใช้ Joget โดยอัตโนมัติ


iv. Add Link in SharePoint site

เพิ่มลิงก์ในไซต์ SharePoint

  1. In SharePoint, click on Edit Links in the left menu 

    ใน SharePoint คลิกที่ลิงค์แก้ไขในเมนูด้านซ้าย


  2. Click on (plus) link, and key in the text to display (e.g. Joget) and the direct SSO link e.g. assuming the AD FS server is https://windows.local and the Joget server is https://mysite.cloud.joget.com, the link will be https://windows.local/adfs/ls/idpinitiatedsignon.aspx?logintoRP=https://mysite.cloud.joget.com/jw/web/json/plugin/org.joget.plugin.saml.SamlDirectoryManager/service 

    คลิกที่ (plus) ลิงก์และป้อนข้อความที่จะแสดง (เช่น Joget) และลิงค์ SSO โดยตรงเช่น สมมติว่าเซิร์ฟเวอร์ AD FS นั้นคือ https: //windows.local และเซิร์ฟเวอร์ Joget คือ https://mysite.cloud.joget.com ลิงก์นั้นจะเป็น https://windows.local/adfs/ls/idpinitiatedsignon.aspx?logintoRP=https://mysite.cloud.joget.com/jw/web/json/plugin/org.joget.plugin.saml.SamlDirectoryManager/service


  3. Once the link is created, clicking on the link will SSO the user into the Joget installation.

    เมื่อสร้างลิงก์แล้วการคลิกที่ลิงก์จะทำให้ SSO ผู้ใช้เข้าสู่การติดตั้ง Joget




Appendix: Resources for Installing Pre-requisites

ภาคผนวก: ทรัพยากรสำหรับการติดตั้งสิ่งที่จำเป็นต้องมีล่วงหน้า

Install SharePoint Foundation 2013

ติดตั้ง SharePoint Foundation 2013

  1. Download SharePoint Foundation 2013: https://www.microsoft.com/en-us/download/details.aspx?id=35488

    ดาวน์โหลด SharePoint Foundation 2013: https://www.microsoft.com/en-us/download/details.aspx?id=35488

  2. Install SharePoint 2013 on a single server with a built-in database: https://technet.microsoft.com/en-us/library/cc263202.aspx

    ติดตั้ง SharePoint 2013 บนเซิร์ฟเวอร์เดียวที่มีฐานข้อมูลในตัว: https://technet.microsoft.com/en-us/library/cc263202.aspx

  3. Fix SharePoint installation issues on Windows 2012 R2:

    แก้ไขปัญหาการติดตั้ง SharePoint บน Windows 2012 R2:


    1. http://www.someshinyobject.com/posts/server-2012-r2-and-sharepoint-2013-the-tool-was-unable-to-install-application-server-role-web
    2. https://www.axian.com/2014/06/11/sharepoint-2013-configuration-wizard-issues-when-installing-local-development-instance/
    3. http://sandbox2010.kwizcom.com/sites/demo-data-view-plus/admin-corner-blog/Lists/Posts/Post.aspx?ID=4

Install Active Directory Federation Services (AD FS)

ติดตั้งบริการเข้าใช้งานเว็บรวมไดเรกทอรี (AD FS)

  1. Install the AD FS software on Windows Server 2012 R2: https://msdn.microsoft.com/en-us/library/azure/dn528857.aspx

    ติดตั้งซอฟต์แวร์ AD FS บน Windows Server 2012 R2: https://msdn.microsoft.com/en-us/library/azure/dn528857.aspx

Configure SharePoint to use AD FS

กำหนดค่า SharePoint เพื่อใช้ AD FS

  1. Configure SAML-based claims authentication with AD FS in SharePoint 2013: https://technet.microsoft.com/en-us/library/hh305235.aspx

    กำหนดค่าการรับรองความถูกต้องตาม SAML ด้วย AD FS ใน SharePoint 2013: https://technet.microsoft.com/en-us/library/hh305235.aspx

Install Joget 

ติดตั้ง Joget

  1. Options for installing Joget:

    ตัวเลือกสำหรับการติดตั้ง Joget:


    1. Install On-Premise: Installation Guide
    2. Install on Docker: Joget on Docker
    3. Install on OpenShift: Joget on OpenShift
    4. Sign up for Joget Workflow On-Demand: https://cloud.joget.com