cybersecurity · customer identity

Customers should get through login on the first try. Attackers shouldn't.

Abandoned sign-ups and credential-stuffing spikes hit the same login page, so fraud controls can't get in a customer's way. We build customer identity on Auth0 and Microsoft Entra External ID. We move users off Azure AD B2C or homegrown login code, and send clean profile and consent data to Salesforce or Dynamics 365.

platforms
cybersecurity / customer-identity 6 platforms
01 · CUSTOMER CHANNELS 02 · CUSTOMER IDENTITY 03 · BUSINESS SYSTEMS Web app: hosted login page Web app hosted login page Mobile app: iOS · Android Mobile app iOS · Android Business customer IdP: SAML · OIDC federation Business customerIdP SAML · OIDC federation CIAM tenant: Auth0 · Entra External ID CIAM tenant Auth0 · Entra ExternalID Actions and extensions: risk checks · profile enrichment Actions andextensions risk checks · profileenrichment Legacy user store: Azure AD B2C · custom login Legacy user store Azure AD B2C · customlogin Your APIs: validate access tokens Your APIs validate access tokens CRM: Salesforce · Dynamics 365 CRM Salesforce · Dynamics365 Consent records: marketing · privacy Consent records marketing · privacy
Auth0Microsoft Entra IDOktaSalesforce
in short·15-second read

Customer identity and access management (CIAM) covers sign-up, login, account recovery and consent for the people who use your products, rather than your employees.

We design and build CIAM on Auth0 (which Okta also sells as Customer Identity Cloud) and on Microsoft Entra External ID. We also plan migrations off Azure AD B2C and custom login code, add passkeys and connect customer profiles to your CRM.

you probably need this if
  • Sign-up abandonment is high and the login page is one of the suspects.
  • Credential-stuffing spikes hit your login page and lock out real customers.
  • You run Azure AD B2C with custom policies and need a plan for External ID.
Ask an engineer facts checked 2026-10-20 · 3 sources
how it runs
  1. 01Map the flows
  2. 02Design
  3. 03Build and migrate
  4. 04Tune after launch
you keep
  • Map of current and target customer sign-in flows
  • Tenant and environment design
  • User migration plan and password strategy
+ 3 more documents
who does it
CIAM architectAuth0 developerMicrosoft Entra External ID engineer Auth0 Certified Developer Certified Professional - PingOne DaVinci
platforms
the story · customer identity

From the first call to a setup your own team can run.

Here's what usually prompts a call about your Customer Identity, what we do about it and in which order, and where you end up.

  1. chapter 01 · where it hurts

    Why teams reach out

    • Sign-up abandonment is high and the login page is one of the suspects.
    • Credential-stuffing spikes hit your login page and lock out real customers.
    • You run Azure AD B2C with custom policies and need a plan for External ID.
  2. chapter 02 · what we change

    How we solve it

    • Auth0 tenant and Actions design
    • Azure AD B2C to External ID migration
    • Passkeys and passwordless for consumers
    • B2B and partner login
    • Migration from custom login code
    • Profile, consent and CRM sync
  3. chapter 03 · how it runs

    Our approach

    • Map the flows
    • Design
    • Build and migrate
    • Tune after launch
  4. chapter 04 · where you end up

    What changes

    • The Rules are gone.
    • The team knows which paths move as configuration and which need code, has a working prototype of the hardest one, and has a migration plan that doesn't depend on the original authors.
    • New enterprise customers set up their own SSO now.
    • Map of current and target customer sign-in flows
what we do

Where we spend the hours

6 areas of work, each one done by an engineer who has run it in production.

  1. Each environment gets its own tenant. Actions handle profile enrichment and risk checks, and login configuration deploys from source control, so a change to the sign-in flow gets code review like any other release.

  2. Microsoft stopped selling Azure AD B2C to new customers on 1 May 2025, and new features now ship only in External ID. We go through your custom policies one by one, rebuild each sign-in flow as user flows and custom authentication extensions, and move users across without forced password resets wherever we can.

  3. Passkey enrollment offered at moments people say yes, such as right after a successful login or checkout, with an email or phone fallback that doesn't reopen the door to account takeover.

  4. Each business customer becomes an organization with its own IdP federation, and its admins manage their own users without filing tickets with you.

  5. If the old hashes use an algorithm the new platform supports, we import them in bulk. If they don't, lazy migration moves each user the next time they log in. Either way customers keep their passwords, and the old user table can be retired.

  6. One customer identifier shared by the identity platform and Salesforce or Dynamics 365, with consent records that marketing and privacy teams both trust.

capability 01 / 06in production

Auth0 tenant and Actions design

Each environment gets its own tenant. Actions handle profile enrichment and risk checks, and login configuration deploys from source control, so a change to the sign-in flow gets code review like any other release.

capability 02 / 06in production

Azure AD B2C to External ID migration

Microsoft stopped selling Azure AD B2C to new customers on 1 May 2025, and new features now ship only in External ID. We go through your custom policies one by one, rebuild each sign-in flow as user flows and custom authentication extensions, and move users across without forced password resets wherever we can.

capability 03 / 06in production

Passkeys and passwordless for consumers

Passkey enrollment offered at moments people say yes, such as right after a successful login or checkout, with an email or phone fallback that doesn't reopen the door to account takeover.

capability 04 / 06in production

B2B and partner login

Each business customer becomes an organization with its own IdP federation, and its admins manage their own users without filing tickets with you.

capability 05 / 06in production

Migration from custom login code

If the old hashes use an algorithm the new platform supports, we import them in bulk. If they don't, lazy migration moves each user the next time they log in. Either way customers keep their passwords, and the old user table can be retired.

capability 06 / 06in production

Profile, consent and CRM sync

One customer identifier shared by the identity platform and Salesforce or Dynamics 365, with consent records that marketing and privacy teams both trust.

typical situations

Situations we walk into

We pieced these together from Customer Identity situations that come up a lot. They're patterns. You won't find a specific client in them.

case file 01

Auth0 Rules still running login logic weeks before end of life

composite · not a client story
  1. Beforethe situation

    Twelve or so Rules run in an Auth0 tenant, adding roles to tokens, calling a fraud API and linking accounts by email. Rules and Hooks reach end of life on 18 November 2026. The login flow has no automated tests.

  2. What we dothe work

    Export the tenant with the Deploy CLI and map each Rule to a post-login Action. Write tests for every token claim a downstream API reads, compare tokens from Rules and Actions in a development tenant, then cut over per application with the old Rules disabled first and deleted later.

  3. Afterwhere you end up

    The Rules are gone. Login logic lives in versioned Actions with tests, every API sees the claims it saw before, and the end-of-life date comes and goes without a login incident.

case file 02

Azure AD B2C custom policies with an identity verification step

composite · not a client story
  1. Beforethe situation

    A B2C tenant runs Identity Experience Framework custom policies, including a REST technical profile that calls an ID verification vendor during sign-up and a separate sign-in flow for a partner portal. The people who wrote the XML have moved on.

  2. What we dothe work

    Read every policy file and diagram each sign-in path. Decide which paths map to External ID user flows and which need custom authentication extensions. Prototype the verification step first, since it carries the most risk, and choose a password strategy per hash format.

  3. Afterwhere you end up

    The team knows which paths move as configuration and which need code, has a working prototype of the hardest one, and has a migration plan that doesn't depend on the original authors.

case file 03

Enterprise customers who want SSO from their own Okta or Entra tenant

composite · not a client story
  1. Beforethe situation

    The product is B2B SaaS, and the enterprise customers want staff to sign in through their own IdP. Every new SAML connection is a support ticket. An engineer configures each one by hand.

  2. What we dothe work

    Model each business customer as an Auth0 Organization with its own connection, give customer admins a guided setup flow, and map their IdP groups to product roles in one Action. Move the existing hand-built connections over one customer at a time.

  3. Afterwhere you end up

    New enterprise customers set up their own SSO now. Roles land in the token the same way for every customer, and support has stopped editing SAML settings by hand.

case studies

Customer Identity case studies

All case studies
upgrade Identity and access

Auth0 Rules and Hooks to Actions before end of life

Rewriting Auth0 Rules and Hooks as Actions before their 18 November 2026 end of life, with token claims compared before and after each change.

read the case study
implementation Industry platforms

TriZetto Facets upgrades and CMS-0057-F interoperability APIs

Keeping TriZetto Facets current while we build the Provider Access, Payer-to-Payer and Prior Authorization APIs that CMS-0057-F requires by January 2027.

read the case study
migration Identity and access

ForgeRock AM/IDM to PingOne Advanced Identity Cloud

Moving self-managed ForgeRock AM and IDM, now called PingAM and PingIDM, to PingOne Advanced Identity Cloud without breaking sign-in or provisioning.

read the case study
implementation Identity and access

Homegrown customer login to Auth0 or Okta Customer Identity

We swap homegrown customer login and its user table for Auth0, move users without forcing password resets, and keep the CRM records in sync.

read the case study
upgrade Applications

Mobile apps for Android 16 KB pages, passkeys and store deadlines

We keep Android and iOS apps shippable as Google Play's target API and 16 KB page rules and Apple's SDK minimums change, and add passkey sign-in.

read the case study
migration Identity and access

On-premises Active Directory to cloud-first Microsoft Entra ID

We shrink on-premises Active Directory one application at a time, moving groups, users and app authentication to Microsoft Entra ID as each app is ready.

read the case study
architecture

Where customer identity sits between your apps and your CRM

Web, mobile and partner logins all run through one CIAM tenant, which calls Actions for risk checks and migrates legacy users as they sign in. Your APIs receive access tokens, and profile and consent data sync to the CRM.

Where customer identity sits between your apps and your CRM Web, mobile and partner logins all run through one CIAM tenant, which calls Actions for risk checks and migrates legacy users as they sign in. Your APIs receive access tokens, and profile and consent data sync to the CRM. 01 · CUSTOMER CHANNELS 02 · CUSTOMER IDENTITY 03 · BUSINESS SYSTEMS OIDC login PKCE auth code federation login hooks lazy migration access token profile sync consent Web app hosted login page Mobile app iOS · Android Business customer IdP SAML · OIDC federation CIAM tenant Auth0 · Entra ExternalID Actions and extensions risk checks · profileenrichment Legacy user store Azure AD B2C · custom login Your APIs validate access tokens Sf CRM Salesforce · Dynamics365 Consent records marketing · privacy
Read the diagram as text
  1. Web app → CIAM tenant: OIDC login
  2. Mobile app → CIAM tenant: PKCE auth code
  3. Business customer IdP → CIAM tenant: federation
  4. Actions and extensions → CIAM tenant: login hooks
  5. Legacy user store → CIAM tenant: lazy migration
  6. CIAM tenant → Your APIs: access token
  7. CIAM tenant → CRM: profile sync
  8. CIAM tenant → Consent records: consent
how it runs

A typical engagement

We don't start a step until the last one has produced something you can check.

  1. step 01

    Map the flows

    Every sign-up, login, recovery and profile flow across web and mobile, with drop-off and support-ticket data where you have it.

  2. step 02

    Design

    Tenant topology, identity providers, MFA and passkey policy, and the customer data model shared with CRM.

  3. step 03

    Build and migrate

    We build flows in lower environments first. Users then migrate in cohorts, with the old and new login running side by side until the last group is over.

  4. step 04

    Tune after launch

    Bot and fraud signals, conversion rates and support tickets reviewed weekly at first, and policies adjusted to match.

you keep

What you're left with

We write these for your Customer Identity setup, and they're working documents. Your team should be able to keep things running from them long after we've gone.

  • inventory01

    Map of current and target customer sign-in flows

    yours to keep
  • design02

    Tenant and environment design

    yours to keep
  • plan03

    User migration plan and password strategy

    yours to keep
  • guide04

    Passkey and MFA policy by customer segment

    yours to keep
  • inventory05

    Identity-to-CRM data mapping

    yours to keep
  • runbook06

    Runbook for login incidents and customer lockouts

    yours to keep
talent and delivery · customer identity

Certified engineers, wherever you need them.

Some clients want a project team, some want a couple of engineers on theirs. Either works. Onsite, nearshore or offshore, with handovers across time zones that keep things moving.

Onsite

Engineers at your sites in the US

Nearshore

Overlapping hours with US teams

Offshore

Overnight progress on your backlog

All time zones

Coverage handed over across time zones

24-hour coverage · US Central time
OnsiteUS business hours
Nearshoreoverlapping US hours
Offshoreovernight progress
Combinedhandover, not hand-off
roles we staff
  • CIAM architect
  • Auth0 developer
  • Microsoft Entra External ID engineer
  • Front-end identity developer
  • Identity data migration engineer
01We're on Azure AD B2C. Do we have to move now?

No. Microsoft says it will support Azure AD B2C until at least May 2030, and existing customers can still create tenants and user flows. New capabilities go to External ID only, though, so the real question is when you move. Tenants with heavy custom policies take longest. Start that inventory early.

02What drives the cost of a CIAM platform?

Monthly active users, the add-ons you need (SMS MFA, bot protection, B2B features) and how many tenants and environments you run. External ID's core offer is free for the first 50,000 monthly active users, and its add-ons are billed separately. We model the candidates against your real login volumes before you sign anything.

03Is Okta Customer Identity Cloud the same product as Auth0?

Yes, same product. Okta calls Customer Identity Cloud "powered by Auth0", and the APIs, SDKs and URLs still say Auth0. Contracts and documentation will use both names.

04Can customers keep their passwords when we migrate?

Usually. If your current system stores password hashes in an algorithm the new platform can import, we bring them over in bulk. If not, lazy migration checks the password against the old system on first login and moves that user then.

05Do you build the login screens too?

Yes. We can brand the hosted login page, which is the safer default, or build native login screens inside your mobile app when the product team needs full control and accepts the extra security work that comes with it.

related

Often paired with

Projects on Customer Identity (CIAM) usually end up touching one of these, so they're worth a look.

sources 3 sources linked last checked 2026-10-20 content fingerprint 81d5b8d7
  1. 01Microsoft Learn: Entra External ID FAQ (B2C end of sale, support to 2030, pricing)learn.microsoft.com ↗
  2. 02Auth0 blog: Branding updates, Customer Identity Cloud powered by Auth0auth0.com ↗
  3. 03Auth0 Docs: Rules (Rules and Hooks end of life 18 Nov 2026)auth0.com ↗
Reviewed by the Cohash team Product names are trademarks of their owners. how we handle facts and data →
next step

Tell us what you're running. We'll tell you what we'd do first.

A 30-minute working session with a senior engineer. No slides.

useful to bring
  • The platform and the version you're on
  • Where you need to get to, and by when
  • What's custom: rules, plugins, integrations
  • Any audit finding or deadline driving it