Share via

CIAM custom extensions not receiving sign in email in submit event

Richard Collins 21 Reputation points
2026-03-17T03:19:49.56+00:00

Functions written in C# and invoked through custom extensions for start and submit functions can be invoked separately and execute but fail if together and will not surface email so are forced to end. A combined start submit function will error with token issues.

📩 Support Ticket Text — CIAM Custom Authentication Extensions Not Receiving Sign‑in Email in Submit Event (Tenant Routing/Provisioning Failure)

Title:

CIAM Custom Authentication Extensions – Submit event payload missing sign‑in identifier (email), causing failure to complete sign‑up. Extensions intermittently fail to invoke. Requires backend reprovisioning.


Tenant ID:

8299aefb-503c-48f5-bc8c-293d6acdf888

Regions involved:

UK South / UK West (External ID)


Summary

We are implementing Custom Authentication Extensions for a CIAM External Identities user flow (PPXMFlow). Two extensions are configured:

  • BeforeCollectingAttributes
  • AfterAttributeCollectionSubmit

Each extension points to a C# Azure Function running on Premium Windows Plan.

✔ The BEFORE extension (Start) works reliably.

❌ The AFTER extension (Submit) intermittently fails and, when invoked, does not contain the user’s sign‑in email or user object in the payload.

❌ As a result, the sign‑up process cannot complete — CIAM shows “Something went wrong” on the metadata screen.

❌ Even when the extension returns “Continue”, CIAM still fails because the backend cannot continue without the identifier.

This behavior aligns with recent changes in UK Azure regions affecting External ID tenants (late 2025 / early 2026 rollouts).


Observed Behaviour

1. BEFORE extension works

  • Function receives the event: microsoft.graph.authenticationEvent.attributeCollectionStart
  • Returns { "version":"1.0.0", "action":"Continue" }
  • CIAM proceeds to metadata screen.

2. AFTER extension intermittently fails with:

AADSTS1100001: Non-retryable error has occurred.

Underlying error code: 1003009
  • No function invocation recorded
  • Indicates CIAM failed token acquisition for the wizard‑generated Resource Application

This only happens for the Submit extension, not the Start extension.

3. When AFTER extension does invoke, the payload is missing ALL user identifier data

Diagnostic logs show:

keys-authCtx=correlationId,client,protocol,clientServicePrincipal,resourceServicePrincipal

keys-dataUser=

keys-attributes=

email.path=<none>

Meaning:

  • No authenticationContext.user
  • No authenticationContext.signInName
  • No data.user
  • No data.user.identities
  • No data.attributes.email

This occurs even though the sign-in email is shown at the top of the metadata page and Email is enabled as a sign‑in identifier.

CIAM is suppressing the identifier in the backend Submit event.

This prevents us from completing the sign‑up even when the extension returns "action": "Continue".


Expected Behaviour

In a healthy CIAM tenant:

  • AFTER extension receives the sign‑in identifier (email) in:
    • data.authenticationContext.user.signInName, or
    • data.user.identities[*].issuerAssignedId, or
    • data.attributes.email (if collected)

This previously worked for other function apps in this tenant, and works in other tenants.


Summary of Issue

This appears to be the known issue where:

  • Wizard‑generated Resource Applications (e.g., getoutapp00Y) are not fully provisioned in CIAM backend → results in 1003009
  • AFTER event payload does not include the sign‑in identifier even when Email is the sign‑in identifier and is displayed in the UI
  • Known problem in UK South / UK West External Identities tenants during late‑2025 / early‑2026 CIAM backend rollout

This is not caused by function code or configuration.

It is a tenant backend provisioning and routing issue.


What We Need Microsoft to Do

Please:

1. Re‑provision the Custom Authentication Extensions backend for this tenant, including:

  • Event routing
  • Resource Application creation for Submit extension
  • Token acquisition mapping
  • Backend policies controlling inclusion of sign‑in identifier in Submit events

2. Enable / restore the backend flag for this tenant:

Return sign‑in identifier (email) inside AfterAttributeCollectionSubmit events

(This is the same flag that was present in earlier builds and is required to complete the sign‑up pipeline.)

Without this, our AFTER extension cannot receive the necessary user identifier to complete the sign‑up process.


Why this is urgent

The CIAM sign‑up pipeline cannot complete because:

  • Email is missing from Submit events
  • Submit extension intermittently fails to invoke (1003009)
  • CIAM UI shows “Something went wrong”
  • End‑users cannot onboard
Microsoft Security | Microsoft Entra | Microsoft Entra External ID

1 answer

Sort by: Most helpful
  1. Raja Pothuraju 47,420 Reputation points Microsoft External Staff Moderator
    2026-04-06T08:16:21.3433333+00:00

    Hey Richard – this looks like the known CIAM backend provisioning bug in UK South/UK West. Because both your Start and Submit functions return HTTP 200 and only use supported actions (modifyAttributeValues + continueWithDefaultBehavior), the issue isn’t in your code but in the CIAM backend:

    • The wizard-generated resource app for your OnAttributeCollectionSubmit extension isn’t fully provisioned → CIAM can’t acquire a token (AADSTS1100001 / 1003009 or 1003002) → the Submit event sometimes never fires.

    • When it does fire, CIAM suppresses the sign-in identifier in the payload (no signInName, no data.user.identities, etc.), so the flow fails on the “metadata” screen.

    What to do next:

    1. Re-provision your tenant’s custom authentication extensions backend
      • Fully provision (or recreate) the wizard-generated Resource Application for the Submit extension
      • Refresh event routing and token-acquisition mapping
      • Ensure the backend flag that returns the sign-in identifier (email) in AfterAttributeCollectionSubmit is turned back on
    2. Capture a failing run’s Correlation ID, Request ID and Timestamp, then open a ticket with Microsoft Support. Reference the errors (AADSTS1100001 / 1003009 or 1003002), your Tenant ID, and sample IDs so the CIAM service team can restore the missing provisioning and flag.

    Once the backend is reprovisioned and the “ReturnSignInIdentifierInExtensions” flag is reinstated, your Submit payload will include the email again, CIAM can complete its directory write, and the sign-up flow will succeed.

    References for your support engineer:

    Let me know once you have your IDs or if you need any more help pushing this through Support!

    Note: This content was drafted with the help of an AI system. Please verify the information before relying on it for decision-making.

    Was this answer helpful?

    0 comments No comments

Your answer

Answers can be marked as 'Accepted' by the question author and 'Recommended' by moderators, which helps users know the answer solved the author's problem.