BrqSMS: WordPress Mobile Number Signup and Login
Passwordless, mobile-first signup and login for WordPress. Users register and authenticate with their phone number and a one-time password (OTP) delivered over SMS through the BrqSMS gateway.
by ABDALRAHMAN MOLOOD · github.com/amolood/brqsms-wordpress · website
Install
The author publishes release zips, so WP-CLI can install straight from GitHub:
wp plugin install https://github.com/amolood/brqsms-wordpress/releases/download/v1.0.0/barq.zipReadme
BrqSMS — WordPress Mobile Number Signup and Login (Sudanese Provider)
Passwordless, mobile-first signup and login for WordPress. Users register and authenticate with their phone number and a one-time password (OTP) delivered over SMS through the BrqSMS gateway.
Overview
BrqSMS replaces (or augments) the standard WordPress username/password flow with phone-number authentication:
- A visitor enters their mobile number.
- The plugin generates an OTP and sends it as an SMS via the BrqSMS gateway.
- The visitor enters the code and is registered and/or logged in — no password required.
The OTP is generated and verified inside the plugin, so the gateway is only responsible for delivering the message. This keeps the integration simple and reliable.
BrqSMS is open source (GPLv2). There is no license key and no activation — install it and go.
Features
- Passwordless mobile login & registration with OTP verification
- BrqSMS SMS gateway built in — BrqSMS v3 REST API, Bearer-token auth
- Automatic unicode handling — Arabic and other non-Latin OTP messages are sent correctly
- WooCommerce integration — phone field on checkout, account registration, and login
- Native forms & shortcodes — login, registration, forgot-password, edit-phone, logout, and modal variants
- WhatsApp & email OTP as alternative delivery channels
- Two-factor / OTP on
wp-login.php - Brute-force protection and configurable OTP rules (length, resend timer, expiry)
- CAPTCHA support on forms
- WPML-ready — message templates and key strings registered for translation
- Localized — ships with English and Arabic
- Other gateways still available — Twilio, MSG91, Firebase, MessageBird, Plivo, Nexmo, Clickatell and more remain selectable; BrqSMS is the default
Requirements
| Requirement | Minimum |
|---|---|
| WordPress | 5.0 |
| PHP | 5.5 |
| PHP ext. | cURL, and GMP or BCMath |
Installation
From a release zip
- Download
barq.zipfrom the latest release. - In WordPress, go to Plugins → Add New → Upload Plugin and upload the zip.
- Activate BrqSMS.
From source
- Copy this folder into
wp-content/plugins/barq/. - Activate BrqSMS from the Plugins screen.
Configuration
- Go to BrqSMS → Settings → API Settings.
- Choose the BrqSMS gateway.
- Enter your API Token (and an optional Sender ID).
- Build your forms under the Forms, Login, and Signup tabs, or drop a shortcode on any page.
Getting your BrqSMS API token
- Sign in to your BrqSMS dashboard: https://dash.brqsms.com
- Open the Developers section.
- Create an API token and paste it into the plugin settings.
Tip: Use the Test Gateway field on the API Settings tab to send a test SMS. The raw gateway response (including the HTTP status) is shown so you can confirm delivery or diagnose issues.
Shortcodes
| Shortcode | Purpose |
|---|---|
[barq-login] |
Login form |
[barq-registration] |
Registration form |
[barq-forgot-password] |
Forgot-password form |
[barq-modal-login] |
Login inside a modal |
[barq-edit-phone] |
Let a user change their phone number |
[barq-logout] |
Logout link |
Page variants ([barq-page-registration], [barq-page-forgot-password]) and the df-* / dm-* aliases are also registered.
How the BrqSMS gateway works
The gateway sends the verification message through the BrqSMS SMS API:
POST https://dash.brqsms.com/api/v3/sms/send
Authorization: Bearer <API_TOKEN>
Content-Type: application/json
Accept: application/json
{
"recipient": "249912345678",
"sender_id": "YOUR_SENDER",
"type": "plain", // "unicode" is used automatically for Arabic/non-Latin text
"message": "Your verification code is 123456"
}
The gateway code lives in gateways/brqsms.php and:
- validates the API token and recipient before sending,
- normalizes the recipient to a bare international number (digits only),
- auto-detects unicode (Arabic) vs. plain GSM text,
- returns clear, status-aware errors in test mode.
Internationalization
- Bundled languages: English (source) and Arabic (
languages/digits-ar*.{po,mo}). - The translation template is
languages/digits.pot. - WPML users: translatable admin texts (including the SMS and WhatsApp message templates) are declared in
wpml-config.xml.
Uninstalling
Deleting the plugin runs uninstall.php, which removes the plugin's own settings and transients. It does not delete user accounts or their verification status, so removing the plugin never destroys customer data.
Author
ABDALRAHMAN MOLOOD
License
Released under the GNU General Public License v2.0 or later. See LICENSE.
Read the full README on GitHub →
Releases
| Tag | Published | Asset | Downloads |
|---|---|---|---|
| v1.0.0 | Jun 28, 2026 | barq.zip | 1 |