=== Qrogin QR Widgets === Contributors: nkchakshu Plugin URI: https://qrogin.com/landingPage Tags: qr, authentication, login, passkey, oauth Requires at least: 5.8 Tested up to: 6.5 Requires PHP: 7.4 Stable tag: 1.0.0 License: GPLv2 or later License URI: https://www.gnu.org/licenses/gpl-2.0.html QROGIN offers passkey-based QR login with tamper-proof codes, one-click links, countdown timer, auth polling and JS event for easy integration. == Description == QROGIN is a developer-friendly QR based social login platform delivering FIDO2 passkey-powered passwordless authentication, combining enterprise-grade security with easy integration and seamless identity management. Using this plugin, developers will be able to generate tamper‑proof (time-limited & one-time use) QR codes and secure one‑click links(button) for QROGIN user-login/signup. The widgets talks to your QROGIN back‑end, displays a countdown, polls for authentication and then fires a JavaScript event so you can finish the flow your way. **Features** * Three modes: `QrWidget`, `QrWithLink`, `SecureLinkButton` * Customise colours, labels and CSS classes from the shortcode * Accessible: countdown and refresh button included * Event‑driven – hook into `qrogin-authenticated` for SPA redirects * Works on any page/post or block editor pattern == Installation == 1. Upload the plugin folder to `/wp-content/plugins/` and activate it. 2. Place the shortcode where you need the QR: ``` [qrogin_qr_widgets base_url="https://sample.qrogin.com/qr (sample url - actual url will be provided privately)" status_base="https://sample.qrogin.com/status (sample url - actual url will be provided privately)" tenant_id="ACME123" api_key="YOUR_API_KEY" mode="QrWidget" (or QrWithLink or SecureLinkButton) ttl_ms="55000" poll_interval="5000" class="my-wrapper" button_label="Secure one‑time link" button_class="btn btn-primary" button_style="font-size:20px" ] ``` **Important:** Both `base_url` and `status_base` must be **HTTPS** endpoints hosted on a `qrogin.com` sub‑domain (e.g. `https://auth.qrogin.com/...`). == Shortcode == [qrogin_qr_widgets] Attributes: See the "Attribute Reference" section below for all options. == Attribute Reference == * base_url (required) – Endpoint that returns QR payload * status_base (required) – Endpoint polled to read auth status * tenant_id (required) – Your tenant/account ID * api_key (required) – API key issued by QROGIN * mode – QrWidget (default), QrWithLink, or SecureLinkButton * ttl_ms – Time‑to‑live in milliseconds (default: 55000) * poll_interval – Polling gap in milliseconds (default: 5000) * class – Extra classes for the widget wrapper * button_label – Button inner HTML (default: "Secure one‑time link") * button_class – Extra classes for the button * button_style – Inline CSS for the button == Usage example: catching the authentication event == Add this script to your page (you can adjust the redirect URL): == Privacy == This plugin sends only the fields you configure—`tenant_id` (also known as customer_id), `api_key`, and associated session data—to **your own** QROGIN back‑end. All traffic travels over **HTTPS** to QROGIN‑owned sub‑domains (`*.qrogin.com`) only. No data is transmitted to the plugin author or any other third‑party service. == Frequently Asked Questions == = The QR never changes colour – what gives? = Check your browser console for CORS errors. The `base_url` and `status_base` **must** be served over HTTPS and send the correct CORS headers. = Does it work with page builders? = Yes. The shortcode can be dropped into any text/html block. == Screenshots == 1. QR widget and Secure Link Button in action (screenshot-1.png) == Changelog == = 1.0.0 = * First public release. == Upgrade Notice == = 1.0.0 = Initial version – nothing to worry about.