Customer Identity and Access Management

The Challenge

A client was using Salesforce Visualforce portals with custom code to authenticate users in Salesforce via username, password, and community licenses.

To enable growth and simplify custom development outside Salesforce, the client decided to move to a Customer Identity and Access Management (CIAM) platform.

Customer Identity and Access Management (CIAM) is a subset of the larger Identity and Access Management (IAM) concept that focuses on managing and controlling external parties’ access to a business’s applications, web portals, and digital services. CIAM solutions help organizations manage customer identities while providing security and an enhanced user experience.

We were engaged to provide CIAM implementation options, a recommended solution, cost estimates, and implementation timelines.

CIAM Diagram


Scope

In Scope

AreaRequirementMUST/SHOULD/COULDScope
User RegistrationSign UpMUSTAccount object: First Name, Middle Name, Last Name, Address, Email, Phone • Flags for ID verification (Frankie One) • Flags for open banking (Basiq) • Income, Employment, Open Banking Accounts, Monthly Expenses, Assets, Household Account (child/parent objects) • User object: Username, Email, Phone • User profile (community) • User license (Salesforce Community Plus)
Verify EmailPost-registrationMUSTUser receives an email link to verify login.
Verify SMSPost-registrationMUSTUser receives a unique SMS token to verify login.
User LoginTOTPMUSTLogin via email link or SMS token.
Step-Up AuthenticationSensitive areasSHOULDRequire extra authentication methods in designated areas.
Two-Factor AuthenticationLoginMUSTMultiple authentication methods required.
User ExperienceBrandingMUSTAbility to customize branding for login and site packages.
TemplatesSHOULDEmails and SMS should allow customization.
Reporting & AnalyticsUser ManagementMUSTDashboard to view, modify, and delete sessions, metadata, roles, and accounts.
Trend AnalysisCOULDUsage, signup, and login trend analysis.
AdministrationAccount LockoutMUSTLock account after 5 failed attempts; notify admin.
Uptime MonitorMUSTService health notifications.
Data ResidencyMUSTData must reside in Australia.
OAuth 2.0 FlowsMUSTAuthorization code flows with PKCE.
MigrationImport UsersMUSTAllow PIN and user migration.
Non-Functional RequirementsScalingMUSTHandle 100 logins/day, peak 1000; MAU < 50,000.
EnvironmentsMUSTProvide non-production environment for development/testing.
API Access ManagementRole AuthorizationSHOULDAuthorize users and roles to APIs.
Development SDKIntegrationSHOULDProvide client libraries for easy integration.

Out of Scope

  • Password-based logins or storing passwords
  • Anything not explicitly in scope

Security Considerations

The recommended authentication protocol for modern web and mobile authentication is OpenID Connect (OIDC), built on OAuth 2.0 and using JSON Web Tokens (JWTs).

The Proof Key for Code Exchange (PKCE) extension strengthens OAuth authorization code flow, replacing insecure implicit flows for SPAs and native apps. These app types are vulnerable to reverse engineering and cannot securely store client secrets, making PKCE essential.

OIDC with PKCE is the recommended approach for a secure, modern authentication solution.


Selection Criteria

  • Meets Requirements Must satisfy all in-scope functional and non-functional requirements.

  • Security & Compliance Must meet Australian consumer data requirements under the Privacy Act 1988 and subsequent amendments.

  • Pricing Consider total cost of ownership: setup, licensing, maintenance, upgrades.

  • Deployment Time Effort required to deploy (SaaS, COTS, or OSS) including configuration, branding, and environments.

  • Scalability Should scale to ~6,000 MAUs in 2 years, with cost-effective pricing.

  • Support Level of vendor support, including technical assistance, updates, training, and documentation.

  • Flexibility Adaptability to future technology, business, and regulatory changes.


Options Analysis

Do Nothing

OverviewContinue with custom Salesforce SAML authentication and authorisation
BenefitsMinimal changes in the immediate term. Existing SAML login already in production.
DisadvantagesReliant on Salesforce Community Licenses (limits on free tier).
RisksOngoing custom development and maintenance costs. In-house development may exceed cost of third-party CIAM.

Solution Options

AWS Cognito

aws.amazon.com/cognito

  • Fully managed service by AWS.
  • Features: user pools, identity pools, federated identities.
  • Negative sentiment around documentation/configuration.

Auth0

auth0.com

  • Industry leader (owned by Okta).
  • Strong UX and documentation.
  • Expensive as usage scales.

FusionAuth

fusionauth.io

  • Open-source, modular IAM platform.
  • SaaS and self-hosted options; AWS Marketplace available.

Keycloak

keycloak.org

  • Popular open-source IAM solution.
  • Requires self-hosting (AWS Marketplace option available).
  • Adopted by CNCF; leading OSS identity option.

Kinde

kinde.com

  • Australian startup (founded 2022 by Atlassian alumni).
  • Developer-focused, catching up on features.

Evaluation of Solution Options

AWS CognitoAuth0FusionAuthKeycloakKinde
Meets Requirements80%85%83%73%80%
DeploymentCloudCloudCloud / SelfSelfCloud
Pricing ModelPay-as-you-goPay-as-you-goFreemium / PlansFree / Hosting costFree tier
Free Tier50k MAUs7.5k MAUsUnlimited (self), $38 SaaSUnlimited (self)7.5k MAUs
Rec. Monthly PricingFree$1,085$400~$300$283
Open SourceNoNoNoYesNo
FeaturesCore IAMFull IAM, MFA, SSOFull IAM + customizationCore IAMFull IAM + feature mgmt
SecurityStrongStrongStrong (open)StrongStrong
ScalabilityHighHighHighHighHigh
Ease of UseEasyEasyEasyComplexEasy
SLA99.90%99.99%99.95%99.90%99.99%
Time to Deploy4–5 weeks2–3 weeks2–3 weeks5–6 weeks2–3 weeks
Maintenance EffortSmallSmallMediumLargeSmall

Recommendation: FusionAuth (Starter Plan on Business Hosting via AWS Marketplace) 👉 fusionauth.io/download

  • Monthly Cost: $400
  • Annual Cost: $4,560
  • Setup & Config Time: 2–3 weeks

The Starter Plan includes advanced MFA, password-less and social login, LDAP connectors, SSO, application theming, breached password detection, and more.

Support is provided via community channels (forums, Slack, GitHub). Allows up to 10,000 MAUs. Runs on a dedicated EC2 instance with 3-day backups and single-domain support.


Our Technological Competencies


Smart Tech

Ready to start?

Contact us to start your journey