Skip to content

CraftCMS User Roles Configuration

VIDEO TRANSCRIPT | Recorded: 2025-10-17 | Verify against current system state

Abstract

Technical deep-dive into Craft CMS authentication and SAML integration, focusing on the migration from Aptify to Salesforce. Covers custom SAML attributes (first name, last name, email, member type, show links unlocked), the complex member groups JSON object, and why Salesforce can't directly pass this data (using notifications API instead). Demonstrates Salesforce App Manager configuration, custom attribute mapping, and flows that sync fields between account, contact, and user objects for HigherLogic integration. Also covers web user roles UI that replaces Aptify for managing legacy application permissions.

Key Procedures

  • Access Salesforce SAML configuration: Setup > App Manager > Manage (not Edit or View)
  • Configure custom SAML attributes for Craft CMS authentication
  • Add AMP External Identity User profile to connected app
  • Use metadata discovery endpoint for third-party SAML setup
  • Create Salesforce flows to sync account fields to contact/user objects
  • Use notifications API endpoint for member groups JSON delivery
  • Access web user roles UI for legacy application permissions
  • Configure Craft CMS identity provider with well-known metadata endpoint

Notable Statements

  • 0:01:33 "Matt's solution with the notifications API is a stronger solution for the long term, because then we have much more control over how those attributes are sent over."
  • 0:02:18 "With Salesforce, I can't control the name ID field as easily."
  • 0:02:40 "You can't have two at signs in a valid email address."
  • 0:05:07 "If either three of those are true, then they should be able to see the links unlocked."
  • 0:17:30 "If you try to go at it at a different route, you may mess things up."
  • 0:22:05 "All of these fields must exist on the user object."
  • 0:30:06 "HigherLogic only... everything has to exist on a contact record."
  • 0:35:36 "The simpler your flow, the better. And that's not what you're going to see when you look at I2C flows."

Systems & Configurations

Systems Mentioned

  • Craft CMS (website authentication)
  • Salesforce (new identity provider)
  • Aptify eBusiness (legacy identity provider)
  • HigherLogic (communities integration)
  • .NET Identity Server (legacy apps)
  • OAuth/SAML protocols

Specific Configurations

Item Value/Setting Timestamp Notes
Name ID Format PersonID@ampuat.com 0:01:48 Fake email for uniqueness
SAML Path App Manager > Manage 0:17:37 Not Edit or View
User Profile AMP External Identity User 0:20:15 Required for access
Contact Fields __PC suffix 0:30:55 Salesforce person account convention
Custom Fields __C suffix 0:25:05 Auto-added by Salesforce
Flow Type Fast field updates preferred 0:33:40 Updates before save

Credentials/Access Mentioned

  • Salesforce App Manager access
  • Craft CMS admin panel
  • Web user roles UI (Keith developed)
  • Notifications API endpoint

Errors & Troubleshooting

  • Issue: Can't see custom attributes in Salesforce connected app
  • Cause: Accessed via Edit or View instead of Manage
  • Resolution: Always use App Manager > Manage path
  • Timestamp: 0:17:30

  • Issue: SAML attributes can't traverse object relationships

  • Cause: Salesforce SAML only reads from user object
  • Resolution: Duplicate fields from account to user object via flows
  • Timestamp: 0:22:05

  • Issue: Member groups JSON too complex for Salesforce SAML

  • Cause: Salesforce can't build complex JSON in SAML response
  • Resolution: Use notifications API endpoint instead
  • Timestamp: 0:05:55

  • Issue: HigherLogic can't read account object fields

  • Cause: HigherLogic only reads contact objects
  • Resolution: Sync account fields to contact via flows with HL_ prefix
  • Timestamp: 0:30:06

Transcript Gaps & Quality Notes

  • Very technical session for IT team knowledge transfer
  • Discussion of I2C vendor's Salesforce implementation
  • Web user roles UI development in progress for post-Aptify
  • Engagement tags (MP Research Report) mentioned for topic codes
  • VPN connection issues during recording
  • Need to add advocate volunteer video and other new engagement tags
  • Fellows, state reps group management use case discussed