xpay✦ Commerce
Directory
WooCommerce plugins
Wapu Auth – Social Login for WordPress and WooCommerce
Wapu Auth – Social Login for WordPress and WooCommerce
Google and Facebook social login for WordPress and WooCommerce through Wapu Auth Broker, with secure account linking, sessions and local analytics.
Will this break my store?
What the WordPress.org registry says about keeping Wapu Auth – Social Login for WordPress and WooCommerce running.
Tested to 6.9.7 — 2 branches behind 7.1
A branch or two behind — normal for a plugin between releases.1 month ago
At least 10.9 releases a year since launch. WordPress.org only lists versions still available for download, so the real number may be higher.8.0
Your host must be running at least this version.6.3
1
A single maintainer. Worth knowing if the plugin is load-bearing for your store.Maintenance & trust
Scored on how Wapu Auth – Social Login for WordPress and WooCommerce is looked after — not on how many stores run it.
Maintenance
35 / 35WordPress compatibility
14 / 20Support responsiveness
Not enough dataMerchant satisfaction
Not enough dataListing transparency
10 / 10Ratings
No one has rated this plugin on WordPress.org yet. That is a statement about the ratings page, not about the plugin — plenty of well-kept plugins never collect them.
Wapu Auth adds Google and Facebook social login to WordPress and WooCommerce. Provider OAuth processing is handled by the fixed Wapu Auth Broker at https://auth.wapuos.com; provider client secrets and provider tokens never enter WordPress.
On activation or update, Wapu Auth queues an asynchronous, one-shot background connection. An eligible public HTTPS site is registered, verified and checked without requiring a normal registration button click. The worker uses an expiring lock, reuses a pending broker challenge, retries temporary failures with bounded backoff and never rotates or re-registers a verified current-origin credential. Local, private, non-HTTPS and cloned origins fail closed. A protected manual retry remains available when the host, firewall or cron system needs attention.
After the connection is verified, the plugin checks local HMAC signing, broker provider availability, schema integrity, identity preflight and safe backfill before enabling new broker login starts. Existing WordPress users, roles, WooCommerce customers, orders and downloads are not recreated or deleted by this workflow.
Main Features
- Google and Facebook login through full-page broker redirects and a closed provider registry.
- Optional native Google One Tap/FedCM for signed-out visitors in compatible browsers, using a per-site public Web Client ID and the same canonical Broker identity mapping.
- Automatic background site registration and proof-of-control verification for eligible public HTTPS sites.
- Encrypted, non-autoloaded per-site broker credentials with exact-origin binding.
- HMAC-signed server requests with timestamps, fresh nonces and fixed broker paths.
- Independent, expiring local transactions for concurrent login attempts.
- Canonical provider identities with conflict-aware account linking and safe unlinking.
- Adaptive provider controls: one enabled provider uses a full button; multiple providers use accessible circular buttons.
- Shortcodes
[wapu_auth_button]and[wapu_auth_login_button], plus thewapu-auth/login-buttonblock. - WooCommerce login, registration, checkout return, profile autofill and My Account integration.
- Active WordPress session management, including individual revocation and closing other sessions.
- Safe return URLs, domain rules and a local sandbox allowlist.
- Local multiprovider analytics for Google, Facebook and traditional WordPress access, with provider filters and sanitized exports.
- Optional detailed Activity Log, GeoIP enrichment and GA4 event bridge.
- Identity migration diagnostics, bounded safe backfill and non-destructive broker pause/resume controls.
- Site-scoped support conversations through the broker’s audited HMAC API.
- Optional private image attachments in Support, capability-gated by the broker and proxied without exposing site credentials.
- Native WordPress login remains available when allowed by the site’s configuration.
How Broker Login Works
- A visitor selects Google or Facebook.
- WordPress validates the return URL and creates an expiring, provider-bound local transaction.
- WordPress sends a signed request to
/api/v1/google/sessionsor/api/v1/facebook/sessions. - The broker returns an allowlisted provider start URL and completes provider OAuth.
- The broker returns a one-use
wxc_*code to/wapu-auth/oauth/callbackon the WordPress site. - WordPress consumes the local transaction and exchanges the code at
/api/v1/oauth/exchange. - The plugin requires the returned provider and subject to match the local transaction before resolving, linking or creating the WordPress user.
- WordPress issues its normal authentication cookies and applies the validated local return URL.
How Google One Tap Works
- When One Tap is enabled, an eligible signed-out HTTPS visitor in a compatible browser may receive Google’s native account prompt on the current site. The regular Google redirect button remains available when Google does not display the prompt.
- WordPress creates a browser-bound local transaction and requests a short-lived One Tap session from the Broker over the existing signed connection.
- Google returns an ID-token credential to the page after the visitor selects an account. The browser sends that credential directly to the Broker’s exact, one-use, origin-bound endpoint; WordPress never receives it.
- The Broker validates Google’s signature plus issuer, audience, authorized party, time, verified email and transaction nonce, then issues the same short-lived
wxc_*code used by redirect login. - The browser navigates only to the site’s fixed local callback. The existing canonical resolver matches
google/sub, establishes the WordPress session and returns the visitor to the validated same-origin URL.
Compatibility and Removed Features
The deprecated [wapu_auth_popup], [wapu_auth_popup_button], [wapu_auth_login_form] and [wapu_auth_register_form] aliases render the normal redirect control for compatibility. They do not open a popup or render a custom form.
Version 2.0 removed the original direct-token One Tap implementation, local modal authentication, emailed login links, email OTP, trusted-device bypasses and integrated SMTP configuration. Version 2.1 restores only native Google One Tap through the Broker-backed, nonce-bound flow described above. Popup/modal authentication and the other retired modules remain removed.
WordPress Multisite is not supported. Activation is stopped before identity migrations on a network installation.
Hooks & Filters
Actions
wapu_auth_before_login— before a broker authorization session is created.wapu_auth_user_authenticated— after successful user resolution.wapu_auth_user_created— after a WordPress user is created.wapu_auth_provider_account_unlinked— after one provider mapping is removed.wapu_auth_google_account_unlinked— compatibility action after a Google mapping is removed.wapu_auth_analytics_event— after a local analytics event is recorded.wapu_auth_log— after the plugin logger records an entry.wp_login— standard WordPress action, fired exactly once for a successful broker login.
Filters
wapu_auth_user_data— presentation fields only; provider identity fields remain immutable.wapu_auth_redirect_url— final redirect, subject to same-origin validation.wapu_auth_error_message— local user-facing error copy.wapu_auth_button_html— rendered provider control HTML.wapu_auth_geoip_enabled— optional GeoIP enrichment.
The legacy wapu_auth_auth_params, wapu_auth_redirect_uri and wapu_auth_oauth_base_url filters are compatibility notifications. They cannot change the broker host, callback, provider, state, nonce, signature, ticket or one-use code.
External Services
1. Wapu Auth Broker (required for social login)
Fixed origin: https://auth.wapuos.com
When used: after activation or update for background registration/verification and provider health; when a visitor starts or completes social login; when an administrator deliberately rotates a credential or uses the Support section.
Endpoints used:
POST /api/v1/sites/register/initandPOST /api/v1/sites/register/verifyfor proof-of-control registration.GET /healthfor a public, secret-free provider and One Tap capability snapshot.POST /api/v1/google/sessionsorPOST /api/v1/facebook/sessionsto begin login.POST /api/v1/google/one-tap/sessionsto create a signed, short-lived One Tap challenge.- Browser
OPTIONS/POSTrequests to the exact/api/v1/google/one-tap/credentials/{ticket}endpoint after a visitor selects a Google account. POST /api/v1/oauth/exchangeto exchange the callback’s one-use code.- Browser paths under
/oauth/google/*or/oauth/facebook/*during provider authorization. - Site-scoped
/api/v1/support/*operations only when an administrator uses Support. - Signed binary support-image upload plus private thumbnail/content delivery only when the broker capability flag is enabled.
Registration data: canonical site URL, fixed local callback URL, short-lived verification URL and registration identifier. The broker performs a public GET of the verification URL, which returns only the active short-lived challenge.
Login data: site ID, HMAC timestamp/nonce/signature headers, provider-bound local state, validated return context and the one-use exchange code. With One Tap, the browser additionally sends Google’s short-lived ID-token credential directly to an origin-bound Broker endpoint. The credential is validated in memory and is not stored or returned to WordPress. Sensitive protocol values are not written to plugin logs.
Identity data received: provider, provider subject, email and verification state, and optional name/avatar fields. Provider tokens, refresh tokens, provider authorization codes and provider client secrets are not returned to WordPress.
Support data: the subject, allowlisted category, public messages and optional JPEG/PNG/WebP evidence deliberately entered by an administrator. Images are normalized to remove EXIF/GPS and unnecessary metadata, remain in private broker storage and are returned only through authorized proxy requests. Internal broker notes and private agent data are not exposed to WordPress.
Documents: About | Privacy | Terms
2. Google Identity Services / OAuth / OpenID Connect
When used: redirect OAuth is contacted after a visitor selects the Google button. If an administrator enables One Tap and the Broker has not reported the capability as disabled, the versionless Google Identity Services script at https://accounts.google.com/gsi/client is loaded on eligible signed-out HTTPS pages so Google can decide whether to display its native prompt.
For redirect login, the visitor reaches Google through the Broker. For One Tap, Google returns the selected account’s ID-token credential to the page and the browser submits it directly to the Broker for nonce-bound verification. Google receives normal identity-service and browser/network metadata under its own policies. Provider access and refresh tokens are not returned to WordPress.
Policies: Google Privacy Policy | Google Terms
3. Meta / Facebook Login (indirect)
When used: only after a visitor actively selects Facebook.
The visitor reaches Facebook through the broker. Meta may receive normal OAuth request and browser/network metadata under its own policies. Provider tokens stay at the broker and are not returned to WordPress.
Policies: Meta Privacy Policy | Meta Terms
4. GeoIP providers (optional, disabled by default)
Services: https://ipapi.co/, with https://ipwho.is/ as fallback.
Data sent: visitor IP address and normal HTTP metadata.
When used: only when the administrator enables GeoIP enrichment. The site owner is responsible for an appropriate legal basis and consent where required.
Policies: ipapi.co Privacy | ipwho.is Privacy
5. Google Analytics 4 event bridge (optional, disabled by default)
The plugin can call a site’s existing gtag function with provider-aware social-login events and limited status metadata. It does not load Google Analytics itself. The site administrator is responsible for consent and the site’s Analytics configuration.
Privacy & Data Retention
Wapu Auth stores local configuration, the optional public One Tap Client ID, encrypted broker credentials, a one-way verified-origin fingerprint, hashed and expiring transaction state, canonical provider mappings, compatibility metadata, WordPress session data and any enabled analytics or Activity Log records. Depending on settings, detailed logs can contain account email, IP address and derived location.
The automatic-connection state contains only sanitized status codes, counters, timestamps, provider availability and a one-way origin hash. It never contains the broker challenge, registration ID, site secret, signature, request payload or remote response.
While one proof-of-control operation is pending, its registration ID and challenge are held separately in a short-lived WordPress transient only until verification, explicit recovery or expiry; they are not copied to plugin logs.
Wapu Auth does not store provider access tokens, provider refresh tokens, provider authorization codes, Google One Tap ID-token credentials, raw HMAC signatures, clear Broker tickets or one-use exchange codes. One Tap ticket and nonce hashes expire at the Broker and are deleted after use or pruning. Legacy Google Client ID/Secret values from 1.x are retained only in separate authenticated encrypted storage until an administrator completes the protected removal flow; only a valid public Client ID may be copied automatically into the active One Tap setting.
Optional GeoIP and GA4 features are disabled by default. Administrators should update their own privacy notice and select a retention period appropriate to their jurisdiction.
Optional Support images are disabled until the broker advertises the compatible WAPU-SUPPORT-ATTACHMENT-V1 capability. Pending images are temporary and pruned after expiry; linked images are retained only for the broker support workflow and removed under its ticket/site retention policy. They are not attached to WhatsApp or administrative email notifications. The broker strips EXIF, GPS and unnecessary image metadata during normalization. Site administrators should avoid uploading secrets or unrelated personal information and describe this support processing in their own privacy notice when the feature is enabled.
Redirect-based Google and Facebook login still requires no provider credentials in WordPress. Optional native Google One Tap requires only the site’s public Google OAuth Web application Client ID, because Google requires the storefront’s exact Authorized JavaScript Origin. Wapu Auth never asks for a Client Secret for One Tap.
Open Wapu Auth > Providers > Google One Tap and select How to get the Client ID. Complete the project’s Branding and Audience configuration, then create a Web application client. The modal shows the exact HTTPS origin to add under Authorized JavaScript origins and links directly to Google Auth Platform. Paste the resulting Web Client ID and enable One Tap. Do not add a Client Secret or an Authorized Redirect URI for this flow. Google changes can take a few minutes; an origin_mismatch error normally means the configured scheme, host, or port is not an exact match. If the site uses full-page or CDN caching, purge that cache after first enabling or disabling One Tap so every cached page has the current script set. Client ID changes are additionally bound to the current server-created session, preventing stale HTML from selecting an outdated audience.
Keep the site’s Content Security Policy compatible with Google Identity Services and the Broker. At minimum, allow the versionless script https://accounts.google.com/gsi/client, the Google Identity Services resources under https://accounts.google.com/gsi/, and browser connections to https://auth.wapuos.com. A stricter policy may require matching script-src, frame-src and connect-src entries. The normal Google redirect button remains the fallback if the prompt is blocked or unavailable.
The normal causes are a non-public or non-HTTPS URL, localhost or a reserved hostname, Basic Auth, maintenance mode, a firewall blocking the verification endpoint, disabled WP-Cron, outbound HTTPS restrictions, DNS mismatch, or a cloned database carrying credentials for another origin. Correct the environment and use Retry automatic connection. Do not paste broker secrets into support requests.
No. A verified credential bound to the current origin short-circuits registration. Pending proof-of-control work is reused under a lock. An ambiguous one-time verification response stops for explicit recovery instead of starting a replacement automatically.
No. It proves that WordPress can decrypt the local secret and build a valid signature. The current broker contract has no authenticated credential-health endpoint. Provider availability and an end-to-end staging login remain separate checks.
Yes. Canonical mappings are provider-specific and enforce one subject per provider and one provider identity per WordPress user. Cross-provider linking requires an authenticated user and a fresh broker flow.
Wapu Auth follows the broker’s nullable Facebook-email contract. It does not invent or silently trust an email. The account-linking flow must resolve safely under the configured local policy.
No. Native WordPress and WooCommerce login remain available. Pausing broker mode stops only new social-login starts.
No. Wapu Auth works with WordPress alone. WooCommerce hooks and My Account features are loaded only when WooCommerce is active.
Yes. When enabled, WooCommerce My Account shows active sessions and connected-account controls. Unlinking a provider does not delete the WordPress account or orders.
The Security settings contain the uninstall-retention choice. If deletion is enabled before uninstall, operational settings, canonical mappings, local transactions, analytics and logs are removed. WordPress users, WooCommerce orders and unrelated data are not deleted. Retained legacy Google credentials have a separate protected irreversible-removal action.
No. Automated tests mock broker and provider transport. Complete a real fresh-install and legacy-update validation on staging, including Google, Facebook, relink, unlink, traditional login and WooCommerce return flows.
Support images are optional and appear only when Wapu Auth Broker advertises the compatible signed-upload capability. The initial formats are JPEG, PNG and WebP, with up to four images, 5 MB per image and 15 MB per message. WordPress validates the file before forwarding its exact bytes through a server-to-server signed request; the browser never receives the site secret or an HMAC signature.
The broker decodes and re-encodes accepted images, removes EXIF/GPS and unnecessary metadata, creates a private thumbnail and stores both files outside public web storage. Images are served back through an administrator-authorized WordPress REST proxy with private no-store responses. Pending uploads expire and are pruned; linked files follow the broker’s support-ticket retention and deletion policy. Share only evidence needed to resolve the issue and avoid passwords, payment data or sensitive personal information.
Categories
Plugin details
Tags on WordPress.org
