พอร์ทัลบริการสำหรับนักพัฒนาซอฟต์แวร์ Apigee (หรือเรียกสั้นๆ ว่าพอร์ทัล) ทำหน้าที่เป็นไคลเอ็นต์ของ Apigee Edge ซึ่งหมายความว่าพอร์ทัลไม่ได้ทำงานเป็นระบบแบบสแตนด์อโลน แต่ข้อมูลส่วนใหญ่ที่พอร์ทัลใช้จะจัดเก็บไว้ใน Edge เมื่อจำเป็น พอร์ทัลจะส่งคำขอเพื่อดึงข้อมูลจาก Edge หรือส่งข้อมูลไปยัง Edge
พอร์ทัลจะเชื่อมโยงกับองค์กร Edge เดียวเสมอ เมื่อกำหนดค่าพอร์ทัล คุณสามารถระบุข้อมูลรับรองการตรวจสอบสิทธิ์พื้นฐาน (ชื่อผู้ใช้และรหัสผ่าน) สำหรับบัญชีในองค์กรที่พอร์ทัลใช้เพื่อสื่อสารกับ Edge
หากเลือกเปิดใช้ IDP ภายนอก เช่น SAML หรือ LDAP สำหรับการตรวจสอบสิทธิ์ Edge คุณจะกำหนดค่าพอร์ทัลให้ใช้การตรวจสอบสิทธิ์นั้นเมื่อส่งคำขอไปยัง Edge ได้ การกำหนดค่าพอร์ทัลให้ใช้ IDP ภายนอกจะสร้างบัญชีผู้ใช้เครื่องใหม่ในองค์กร Edge โดยอัตโนมัติ ซึ่งพอร์ทัลจะใช้เพื่อส่งคำขอไปยัง Edge ดูข้อมูลเพิ่มเติมเกี่ยวกับผู้ใช้ที่เป็นเครื่องได้ที่หัวข้อทำงานอัตโนมัติสำหรับ IDP ภายนอก
การรองรับ IDP ภายนอกสำหรับพอร์ทัลกำหนดให้คุณต้องติดตั้งและกำหนดค่าโมดูล Apigee SSO ในโหนด Edge Management Server แล้ว ขั้นตอนทั่วไปในการเปิดใช้ IDP ภายนอกสำหรับพอร์ทัลมีดังนี้
- ติดตั้งโมดูล Apigee SSO ตามที่อธิบายไว้ในติดตั้ง Apigee SSO เพื่อความพร้อมใช้งานสูง
- ติดตั้งพอร์ทัลและตรวจสอบว่าการติดตั้งทำงานได้อย่างถูกต้อง ดูหัวข้อติดตั้งพอร์ทัล
- กำหนดค่า SAML หรือ LDAP ในพอร์ทัลตามที่อธิบายไว้ในส่วนนี้
- (ไม่บังคับ) ปิดใช้การตรวจสอบสิทธิ์พื้นฐานใน Edge ตามที่อธิบายไว้ในหัวข้อปิดใช้การตรวจสอบสิทธิ์พื้นฐานใน Edge
สร้างผู้ใช้ที่เป็นเครื่องสำหรับพอร์ทัล
เมื่อเปิดใช้ IDP ภายนอก Edge จะรองรับการสร้างโทเค็น OAuth2 อัตโนมัติผ่านการใช้ผู้ใช้เครื่อง ผู้ใช้ที่เป็นเครื่องจะรับโทเค็น OAuth2 ได้โดยไม่ต้องระบุรหัสผ่าน ซึ่งหมายความว่าคุณสามารถทำให้กระบวนการรับและรีเฟรชโทเค็น OAuth2 เป็นแบบอัตโนมัติได้อย่างสมบูรณ์
กระบวนการกำหนดค่า IDP สำหรับพอร์ทัลจะสร้างผู้ใช้ที่เป็นเครื่องในองค์กรที่เชื่อมโยงกับพอร์ทัลโดยอัตโนมัติ จากนั้นพอร์ทัลจะใช้บัญชีผู้ใช้เครื่องนี้เพื่อเชื่อมต่อกับ Edge ดูข้อมูลเพิ่มเติมเกี่ยวกับผู้ใช้ที่เป็นเครื่องได้ที่หัวข้อทำงานอัตโนมัติสำหรับ IDP ภายนอก
เกี่ยวกับการตรวจสอบสิทธิ์สำหรับบัญชีนักพัฒนาแอปในพอร์ทัล
เมื่อกำหนดค่าพอร์ทัลให้ใช้ IDP ภายนอก คุณจะเปิดใช้พอร์ทัลให้ใช้ SAML หรือ LDAP เพื่อตรวจสอบสิทธิ์กับ Edge เพื่อให้พอร์ทัลส่งคำขอไปยัง Edge ได้ อย่างไรก็ตาม พอร์ทัลยังรองรับผู้ใช้ประเภทที่เรียกว่านักพัฒนาแอปด้วย
นักพัฒนาแอปคือชุมชนของผู้ใช้ที่สร้างแอปโดยใช้ API ของคุณ นักพัฒนาแอปใช้พอร์ทัลเพื่อดูข้อมูลเกี่ยวกับ API ของคุณ เพื่อลงทะเบียนแอปที่ใช้ API ของคุณ เพื่อโต้ตอบกับชุมชนนักพัฒนาแอป และเพื่อดูข้อมูลทางสถิติเกี่ยวกับการใช้งานแอปของตนบนแดชบอร์ด
เมื่อนักพัฒนาแอปเข้าสู่ระบบพอร์ทัล พอร์ทัลจะมีหน้าที่ตรวจสอบสิทธิ์นักพัฒนาแอปและบังคับใช้สิทธิ์ตามบทบาท พอร์ทัลจะยังคงใช้การตรวจสอบสิทธิ์พื้นฐานกับนักพัฒนาซอฟต์แวร์แม้ว่าคุณจะเปิดใช้การตรวจสอบสิทธิ์ IDP ระหว่างพอร์ทัลกับ Edge แล้วก็ตาม ดูข้อมูลเพิ่มเติมได้ที่การสื่อสารระหว่างพอร์ทัลกับ Edge
นอกจากนี้ คุณยังกำหนดค่าพอร์ทัลให้ใช้ SAML หรือ LDAP เพื่อตรวจสอบสิทธิ์นักพัฒนาแอปได้ด้วย ดูตัวอย่างการเปิดใช้ SAML โดยใช้โมดูล Drupal ของบุคคลที่สามได้ที่หัวข้อการผสานรวม SSO ผ่าน SAML กับพอร์ทัลนักพัฒนาซอฟต์แวร์
ไฟล์การกำหนดค่า IDP สำหรับพอร์ทัล
หากต้องการกำหนดค่า IDP ภายนอกสำหรับพอร์ทัล คุณต้องสร้างไฟล์การกำหนดค่าที่กำหนดการตั้งค่าของพอร์ทัล
ตัวอย่างต่อไปนี้แสดงไฟล์การกำหนดค่าพอร์ทัลที่มีการรองรับ IDP
# IP address of Edge Management Server and the node on which the Apigee SSO module is installed. IP1=22.222.22.222 # URL of Edge management API. MGMT_URL=http://$IP1:8080/v1 # Organization associated with the portal. EDGE_ORG=myorg # Information about the Apigee SSO module (apigee-sso). # Externally accessible IP or DNS of apigee-sso. SSO_PUBLIC_URL_HOSTNAME=$IP1 SSO_PUBLIC_URL_PORT=9099 # Default is http. Set to https if you enabled TLS on apigee-sso. SSO_PUBLIC_URL_SCHEME=http # SSO admin credentials as set when you installed apigee-sso. SSO_ADMIN_NAME=ssoadmin SSO_ADMIN_SECRET=Secret123 # Enables or disables external IDP support. # Default is "n", which disables external IDP support. # Change it to "y" to enable external IDs support. DEVPORTAL_SSO_ENABLED=y # The name of the OAuth2 client used to connect to apigee-sso. # The default client name is portalcli. PORTALCLI_SSO_CLIENT_NAME=portalcli # OAuth client password using uppercase, lowercase, number, and special characters. PORTALCLI_SSO_CLIENT_SECRET=Abcdefg@1 # Email address and user info for the machine user created in the Edge org specified # above by EDGE_ORG. # This account is used by the portal to make requests to Edge. # Add this email as an org admin before configuring the portal to use an external IDP. DEVPORTAL_ADMIN_EMAIL=DevPortal_SAML@google.com DEVPORTAL_ADMIN_FIRSTNAME=DevPortal DEVPORTAL_ADMIN_LASTNAME=SAMLAdmin DEVPORTAL_ADMIN_PWD=Abcdefg@1 # If set, the existing portal OAuth client is deleted and a new one is created. # The default value is "n". # Set to "y" when you configure the external IDP and change the value of # any of the PORTALCLI_* properties. PORTALCLI_SSO_CLIENT_OVERWRITE=y
วิธีเปิดใช้การรองรับ IDP ภายนอกในพอร์ทัล
- ใน Edge UI ให้เพิ่มผู้ใช้เครื่องที่ระบุโดย
DEVPORTAL_ADMIN_EMAILลงในองค์กรที่เชื่อมโยงกับพอร์ทัลเป็นผู้ดูแลระบบองค์กร - เรียกใช้คำสั่งต่อไปนี้เพื่อกำหนดค่า IDP ภายนอกในพอร์ทัล
/opt/apigee/apigee-service/bin/apigee-service apigee-drupal-devportal configure-sso -f configFile
โดย configFile คือไฟล์การกำหนดค่าที่อธิบายไว้ข้างต้น
- เข้าสู่ระบบพอร์ทัลในฐานะผู้ดูแลระบบพอร์ทัล
- ในเมนูหลักของ Drupal ให้เลือก Configuration > Dev Portal หน้าจอการกำหนดค่าพอร์ทัลจะปรากฏขึ้น ซึ่งรวมถึงการตั้งค่า IdP ภายนอก ดังนี้

ข้อควรทราบ
- เลือกช่อง This org is SAML-enabled
- ระบบจะป้อนปลายทางสำหรับโมดูล Apigee SSO
- ระบบจะป้อนข้อมูลในช่องคีย์ API และข้อมูลลับของผู้ใช้สำหรับไคลเอ็นต์ OAuth ของพอร์ทัล
- ข้อความ Connection Successful จะปรากฏใต้ปุ่ม Test Connection
- คลิกปุ่ม Test Connection เพื่อทดสอบการเชื่อมต่ออีกครั้งได้ทุกเมื่อ
หากต้องการเปลี่ยนค่าเหล่านี้ในภายหลัง ให้อัปเดตไฟล์การกำหนดค่าและทำตามขั้นตอนนี้อีกครั้ง
ปิดใช้ IDP ภายนอกในพอร์ทัล
หากเลือกปิดใช้ IDP ภายนอกสำหรับการสื่อสารระหว่างพอร์ทัลกับ Edge พอร์ทัลจะส่งคำขอไปยัง Edge ไม่ได้อีกต่อไป นักพัฒนาแอปจะเข้าสู่ระบบพอร์ทัลได้ แต่จะดูผลิตภัณฑ์หรือสร้างแอปไม่ได้
วิธีปิดใช้การตรวจสอบสิทธิ์ IDP ภายนอกในพอร์ทัล
- เปิดไฟล์การกำหนดค่าที่คุณใช้ก่อนหน้านี้เพื่อเปิดใช้ IDP ภายนอก
- ตั้งค่าพร็อพเพอร์ตี้
DEVPORTAL_SSO_ENABLEDเป็นnดังตัวอย่างต่อไปนี้DEVPORTAL_SSO_ENABLED=n
- กำหนดค่าพอร์ทัลโดยเรียกใช้คำสั่งต่อไปนี้
/opt/apigee/apigee-service/bin/apigee-service apigee-drupal-devportal configure-sso -f configFile