Skip to content

feat(portal): add PoW CAPTCHA support for self-hosted portals - #2922

Merged
Alexander Zaslonov (azaslonov) merged 5 commits into
Azure:masterfrom
azaslonov:alzaslon/hip-to-pow-captcha
Oct 13, 2026
Merged

Alexander Zaslonov (azaslonov) merged 5 commits into
Azure:masterfrom
azaslonov:alzaslon/hip-to-pow-captcha

Conversation

@azaslonov

Copy link
Copy Markdown
Member

Problem

The APIM backend can enable proof-of-work CAPTCHA through powEnabled, but the public self-hosted developer portal does not recognize that setting. When HIP CAPTCHA is disabled, affected sign-up, reset-password, and change-password flows cannot initialize a CAPTCHA challenge.

Solution

  • Add ALTCHA proof-of-work CAPTCHA support to the Knockout and React runtimes.
  • Retrieve challenges from /v2/captcha-challenge when powEnabled is set.
  • Submit the solved powChallenge for sign-up, reset-password, and change-password requests.
  • Preserve the existing legacy/new CAPTCHA selection and skipCaptcha behavior.

Validation

  • npm run build-runtime
  • Targeted ESLint for all changed TypeScript and TSX files
  • npm test (185 tests passed)
  • git diff --check

Port the managed portal ALTCHA integration so self-hosted portals can
handle powEnabled settings and submit PoW challenges for user flows.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Alexander Zaslonov and others added 4 commits October 12, 2026 19:26
Direct self-hosted portal customers to PoW-capable versions before
the legacy HIP service is disabled.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Direct self-hosted portal customers to release 2.35.0 instead of
the implementation pull request.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Set the self-hosted portal migration deadline to November 20, 2026.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Explain that API Management is moving from retiring HIP to its managed
proof-of-work CAPTCHA solution.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@azaslonov
Alexander Zaslonov (azaslonov) merged commit e3bef43 into Azure:master Oct 13, 2026
7 of 8 checks passed
@azaslonov
Alexander Zaslonov (azaslonov) deleted the alzaslon/hip-to-pow-captcha branch October 13, 2026 03:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants