[Vibecoded Extension] WordPress-XenForo Bridge & Passkeys (WordPress plugin) | Don't visit thread, if vibecode isn't for you

Kyami

Member
Licensed customer
⚠ DISCLAIMER​

This plugin was designed and developed with AI assistance (Claude by Anthropic). While it has been tested and is running in production on a live site, it comes with no warranty of any kind — express or implied.

Use at your own risk.

  • Always back up your WordPress database and files before installing.
  • Test on a staging environment first — never install a fresh plugin directly on a live production site.
  • The plugin handles authentication, user sync, webhook signatures, and API keys. Review the code yourself before deploying if you handle sensitive data or run a mission-critical site.
  • This project is not officially associated with Anthropic, XenForo Ltd., or Automattic. "XenForo" and "WordPress" are trademarks of their respective owners.
  • Bug reports and feedback are welcome in this thread, but there is no support SLA — fixes happen on a best-effort basis when time allows.
  • The code is open and licensed under GPL-2.0 or later. You are free to fork, modify, audit, or rip out features you don't need.

By downloading and installing this plugin, you acknowledge that the author and contributors cannot be held liable for any damage, data loss, downtime, security incident, or other adverse outcome resulting from its use.


A WordPress plugin that connects a WP site to a XenForo forum without installing anything on the XF side —
everything runs from WordPress using XF's standard REST API and webhooks.


What it does​



  • Bi-directional user sync — register on WordPress, the matching XenForo account is auto-created; register on
    XF, the WordPress account is auto-created via webhook. Existing users auto-link by email or username on first login.
  • Single sign-on — log into WordPress (password OR passkey) and you land logged into the forum at the same
    time, via XF's login-token API.
  • WebAuthn / Passkey login — passwordless authentication with device biometrics, PIN, or security keys.
    Includes a token-redirect mechanism that works reliably behind aggressive cache layers (Cloudflare, LiteSpeed) that
    strip Set-Cookie from REST responses.
  • Latest threads widget — Elementor widget, sidebar widget, Gutenberg block, and
    [xf_latest_threads] shortcode. Four modes: latest created, latest active (bumped by replies), latest
    replies, latest activity (mixed feed of new threads + replies). Auto-refreshes every 30 seconds via AJAX — new posts
    and deletions surface within seconds without page reload.
  • Per-user XenForo Profile section on the WP user-edit screen — live XF username, email, group memberships,
    sync timestamps. Manual "Link by XF user ID" input as fallback.
  • Users list integration — sortable, filterable "XenForo" column on the WP Users list so admins can see sync
    status at a glance.
  • Webhook signature verification — handles both XF 2.2 HMAC signatures and XF 2.3 plaintext-secret
    authentication transparently.
  • Smart fallback chain — widget never goes empty on low-activity forums; broadens its query progressively
    until something shows.
  • Auto-post on WP publish — optionally create a XenForo thread when you publish a WordPress post, with a
    configurable BBCode template ({post_url}, {post_title}, {post_excerpt}
    placeholders).


XenForo-side requirements​



  • A XenForo API key. Super-user type recommended for full functionality. User-type keys work for read-only
    widget features but block user creation, find-email lookups, and SSO bounces.
  • Optional but recommended: two webhooks (one for /sync-user, one for
    /sync-content) subscribed to user_* and post_*/thread_* events. Enables real-time updates instead of
    cron-driven polling.


Who it's for​


If you run a WordPress site alongside a XenForo community and you're tired of users having two separate accounts, two
separate logins, and zero sync between them — this stitches the two sides together. Comments under a blog post can
become replies on a linked XF thread. Users register once, end up on both. Latest forum activity surfaces directly on
your WP frontend.


Built with​


Designed and developed with Claude (Anthropic's AI agent), including the
architectural decisions, the WebAuthn integration, the token-based auth-cookie delivery that survives cache layers
stripping Set-Cookie from REST responses, and the multi-version-tolerant webhook signature verification.

Uses the lbuchs/WebAuthn PHP library for FIDO2 / WebAuthn operations.


Status​


Current version: 1.7.11 — running in production on my own private site. Open code,
GPL-2.0+, fork freely. Use at your own risk and test on staging before deploying to a live site.

Feedback, bug reports, and feature requests welcome in this thread.
 

Attachments

  • 1779806532375.webp
    1779806532375.webp
    16.5 KB · Views: 152
  • wp-xenforo-bridge.zip
    wp-xenforo-bridge.zip
    113.5 KB · Views: 31
Last edited:
Well i wont share that there incase due to this is vibecoded :) Probably most of developers will be hate me then :)
 
Well i wont share that there incase due to this is vibecoded :) Probably most of developers will be hate me then :)
A large number of recent add-ons are vibecoded or AI-assisted, so you're already doing better by being transparent.

You may want to see about getting the add-on checked by an actual developer, to see if they find any obvious issues just for your own safety or other peoples safety. Registration and 2FA/passkey are an area where you do not really want to take many risks.
 
A large number of recent add-ons are vibecoded or AI-assisted, so you're already doing better by being transparent.

You may want to see about getting the add-on checked by an actual developer, to see if they find any obvious issues just for your own safety or other peoples safety. Registration and 2FA/passkey are an area where you do not really want to take many risks.
Just get the feeling from the way the addon is shown (description) or are you going through each codebase? Just curious as I would never, unless really curious, spend time looking at vibe coded code bases.
 
Just get the feeling from the way the addon is shown (description) or are you going through each codebase? Just curious as I would never, unless really curious, spend time looking at vibe coded code bases.
Will PM so not to take this off-topic.
 
From yesterday evening to today morning... No fresh errors on XenForo side, but i will keep monitoring... I will let you know if i see any or release another verion...


Perhaps i saw a dream yesterday over the cache but not sure ... I cant reproduce wordpress mistake ... Maybe there isnt anymore... I will still monitoring...
 
Last edited:
v1.7.11 — Sidebar widget visual fix

The classic WordPress sidebar widget now looks identical to the Elementor widget. Previously the plugin's stylesheet
only loaded on pages that had the Elementor widget or [xf_latest_threads] shortcode rendered — so if you placed the
widget in a sidebar on article / category pages, none of the plugin's CSS reached the page and the widget rendered
with bare theme styles (no Outfit font, no avatar shadows, no spacing, no hover effects).

Fix: CSS is now enqueued globally on the frontend (~30KB, once). Both the Elementor widget and the sidebar
widget render through the same HTML pipeline anyway — they now also share the same stylesheet on every page type.
Visual parity across all surfaces: Elementor, sidebar widget, [xf_latest_threads] shortcode, Gutenberg block.

No breaking changes. Upload + Replace current with uploaded.
 
You probably will want to ask if this can be moved from off topic (visible to anyone) to one of the customer only forums.
 
What does the auto login to the forum URL look like?

Could I use it within CRM tools like ActiveCampaign to push people back to the forum? (Similar to ActiveMemb / Memberium Autologin links to WP?)
 
Back
Top Bottom