{"id":269785,"date":"2026-01-01T06:10:32","date_gmt":"2026-01-01T06:10:32","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/passwordless-login-by-authyo\/"},"modified":"2026-03-14T08:52:37","modified_gmt":"2026-03-14T08:52:37","slug":"authyo-passwordless-login","status":"publish","type":"plugin","link":"https:\/\/test.wordpress.org\/plugins\/authyo-passwordless-login\/","author":23299154,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_crdt_document":"","version":"1.0.3","stable_tag":"1.0.3","tested":"6.9.4","requires":"5.0","requires_php":"7.2","requires_plugins":null,"header_name":"Authyo Passwordless Login","header_author":"konceptwise","header_description":"Passwordless login for WordPress using Authyo OTP service. Users can log in with their email address and receive an OTP for verification.","assets_banners_color":"bccde8","last_updated":"2026-03-14 08:52:37","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"","header_author_uri":"https:\/\/authyo.io\/","rating":0,"author_block_rating":0,"active_installs":0,"downloads":289,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.0":{"tag":"1.0.0","author":"konceptwise","date":"2026-01-01 06:55:34"},"1.0.1":{"tag":"1.0.1","author":"konceptwise","date":"2026-01-01 07:52:45"},"1.0.2":{"tag":"1.0.2","author":"konceptwise","date":"2026-01-22 12:58:33"},"1.0.3":{"tag":"1.0.3","author":"konceptwise","date":"2026-03-14 08:52:37"}},"upgrade_notice":{"1.0.1":"<p>Performance improvements and screenshot addon.<\/p>","1.0.0":"<p>Initial release of Authyo Passwordless Login.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3430366,"resolution":"128x128","location":"assets","locale":""},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3430366,"resolution":"256x256","location":"assets","locale":""}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3487161,"resolution":"1544x500","location":"assets","locale":""},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3487161,"resolution":"772x250","location":"assets","locale":""}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.0","1.0.1","1.0.2","1.0.3"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3430398,"resolution":"1","location":"assets","locale":""},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3430398,"resolution":"2","location":"assets","locale":""}},"screenshots":{"1":"Authyo WordPress Passwordless Login","2":"Authyo WordPress Passwordless Login Admin Panel"},"jetpack_post_was_ever_published":false},"plugin_section":[],"plugin_tags":[209326,155171,35316,1909,257743],"plugin_category":[38],"plugin_contributors":[247673],"plugin_business_model":[],"class_list":["post-269785","plugin","type-plugin","status-publish","hentry","plugin_tags-email-otp","plugin_tags-otp-login","plugin_tags-passwordless-login","plugin_tags-two-factor-authentication","plugin_tags-wordpress-otp","plugin_category-authentication","plugin_contributors-konceptwise","plugin_committers-konceptwise"],"banners":{"banner":"https:\/\/ps.w.org\/authyo-passwordless-login\/assets\/banner-772x250.png?rev=3487161","banner_2x":"https:\/\/ps.w.org\/authyo-passwordless-login\/assets\/banner-1544x500.png?rev=3487161","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/authyo-passwordless-login\/assets\/icon-128x128.png?rev=3430366","icon_2x":"https:\/\/ps.w.org\/authyo-passwordless-login\/assets\/icon-256x256.png?rev=3430366","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/authyo-passwordless-login\/assets\/screenshot-1.png?rev=3430398","caption":"Authyo WordPress Passwordless Login"},{"src":"https:\/\/ps.w.org\/authyo-passwordless-login\/assets\/screenshot-2.png?rev=3430398","caption":"Authyo WordPress Passwordless Login Admin Panel"}],"raw_content":"<!--section=description-->\n<p>Authyo Passwordless Login enables secure <strong>OTP login for WordPress<\/strong> using email-based one-time passwords. It replaces traditional passwords with a modern <strong>passwordless authentication system<\/strong> that improves login security and simplifies the user experience.<\/p>\n\n<p>Users simply enter their email address, receive a one-time password (OTP), verify the code, and are automatically logged in \u2014 no passwords required.<\/p>\n\n<p>This plugin is officially developed and maintained by <strong>Konceptwise Digital Media Pvt. Ltd.<\/strong> and uses <strong>Authyo's secure OTP authentication infrastructure<\/strong>.<\/p>\n\n<p>With Authyo Passwordless Login, WordPress administrators can implement <strong>passwordless login<\/strong>, improve <strong>account security<\/strong>, and eliminate risks related to password leaks or weak credentials.<\/p>\n\n<h3>Key Features<\/h3>\n\n<ul>\n<li>Passwordless login for WordPress using email OTP<\/li>\n<li>No passwords stored or required<\/li>\n<li>Secure token-based authentication (single-use and time-limited)<\/li>\n<li>OTP delivered via Authyo's secure email service<\/li>\n<li><strong>Fallback Method:<\/strong> Optional two-factor authenticator app if email OTP fails<\/li>\n<li>Works with the default WordPress login page<\/li>\n<li>AJAX-powered login flow (no page reloads)<\/li>\n<li>Automatic dashboard redirect after successful login<\/li>\n<li>Enable or disable passwordless login anytime<\/li>\n<li>Compatible with custom login URL plugins (e.g., WPS Hide Login)<\/li>\n<\/ul>\n\n<h3>Use Cases<\/h3>\n\n<p>This plugin is ideal for:<\/p>\n\n<ul>\n<li>WordPress sites that want <strong>OTP login instead of passwords<\/strong><\/li>\n<li>Improving <strong>WordPress login security<\/strong><\/li>\n<li>Enabling <strong>passwordless authentication<\/strong><\/li>\n<li>Preventing password brute-force attacks<\/li>\n<li>Membership websites and user portals<\/li>\n<li>Sites that want a <strong>simple two-factor authentication alternative<\/strong><\/li>\n<\/ul>\n\n<h3>How It Works<\/h3>\n\n<ol>\n<li>User enters their email address on the WordPress login page<\/li>\n<li>Authyo sends a one-time password (OTP) via email<\/li>\n<li>User verifies the OTP<\/li>\n<li>WordPress logs the user in automatically using a secure single-use token<\/li>\n<\/ol>\n\n<p>No password is required during the login process.<\/p>\n\n<h3>About Konceptwise &amp; Authyo<\/h3>\n\n<p>Konceptwise Digital Media Pvt. Ltd. is the parent company and original developer of this plugin.<\/p>\n\n<p><strong>Authyo<\/strong> is a secure authentication platform developed by Konceptwise that provides OTP-based verification services for websites and applications.<\/p>\n\n<p>This plugin integrates WordPress with Authyo's authentication infrastructure to provide secure passwordless login functionality.<\/p>\n\n<h3>Video Tutorial<\/h3>\n\n<p><strong>How to Use Authyo Passwordless Login<\/strong><\/p>\n\n<p>https:\/\/www.youtube.com\/watch?v=cStBvoHTzro<\/p>\n\n<h3>External Services<\/h3>\n\n<p>This plugin connects to Authyo's external API to send and verify one-time passwords (OTP) for passwordless login functionality.<\/p>\n\n<p>What data is sent:\n- User email address (sent to Authyo API when requesting OTP)\n- OTP code (sent to Authyo API for verification)\n- Mask ID (returned by Authyo API, used for OTP verification)<\/p>\n\n<p>When data is sent:\n- When the user requests an OTP: Email address is sent to Authyo API\n- When the user submits an OTP for verification: OTP code and Mask ID are sent to Authyo API<\/p>\n\n<p>Authentication Flow:\n- After successful OTP verification via Authyo API, the plugin generates a secure single-use token using WordPress core functions\n- This token is browser-bound using a hashed User-Agent signature to prevent session hijacking\n- The token is stored temporarily in WordPress transients and expires after 5 minutes\n- The token allows WordPress to complete authentication without requiring a password\n- Token is deleted immediately after verification (single-use security)<\/p>\n\n<p>Purpose:\n- To verify ownership of the provided email address through OTP verification\n- After successful OTP verification, a secure browser-bound login token is generated\n- The token allows WordPress to authenticate users without passwords<\/p>\n\n<p>Data Storage:\n- OTP session data (email, user ID, mask ID) is stored temporarily in WordPress transients (expires after 10 minutes)\n- Login tokens are stored temporarily in WordPress transients (expires after 5 minutes and deleted immediately after use)\n- No user data is permanently stored by this plugin<\/p>\n\n<p>Terms of Service:\nhttps:\/\/authyo.io\/terms-service<\/p>\n\n<p>Privacy Policy:\nhttps:\/\/authyo.io\/privacy-policy<\/p>\n\n<h3>Requirements<\/h3>\n\n<ul>\n<li>WordPress 5.0 or higher<\/li>\n<li>PHP 7.2 or higher<\/li>\n<li>An active Authyo account with API credentials<\/li>\n<\/ul>\n\n<h3>Configuration<\/h3>\n\n<h4>Getting Authyo API Credentials<\/h4>\n\n<ol>\n<li>Sign up for an account at https:\/\/authyo.io<\/li>\n<li>Log in to your Authyo dashboard<\/li>\n<li>Navigate to your application settings<\/li>\n<li>Copy your <strong>App ID<\/strong>, <strong>Client ID<\/strong>, and <strong>Client Secret<\/strong><\/li>\n<\/ol>\n\n<h4>Plugin Setup<\/h4>\n\n<ol>\n<li>Go to <strong>Settings \u2192 Authyo Passwordless Login<\/strong><\/li>\n<li>Enable <strong>Passwordless Login<\/strong><\/li>\n<li>Enter your Authyo API credentials:\n\n<ul>\n<li>Authyo App ID<\/li>\n<li>Authyo Client ID<\/li>\n<li>Authyo Client Secret<\/li>\n<\/ul><\/li>\n<li>Click <strong>Save Settings<\/strong><\/li>\n<\/ol>\n\n<p>Once configured, the passwordless login form will appear on your WordPress login page.<\/p>\n\n<!--section=installation-->\n<h4>Manual Installation<\/h4>\n\n<ol>\n<li>Download the plugin files<\/li>\n<li>Upload the <code>authyo-passwordless-login<\/code> folder to <code>\/wp-content\/plugins\/<\/code><\/li>\n<li>Activate the plugin from the <strong>Plugins<\/strong> menu in WordPress<\/li>\n<li>Go to <strong>Settings \u2192 Authyo Passwordless Login<\/strong> to configure the plugin<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"how%20does%20passwordless%20login%20work%3F\"><h3>How does passwordless login work?<\/h3><\/dt>\n<dd><ol>\n<li>Users enter their email address on the login page<\/li>\n<li>An OTP code is sent to their email via Authyo<\/li>\n<li>Users enter the OTP code to verify their email ownership<\/li>\n<li>After successful OTP verification, a secure single-use token is generated<\/li>\n<li>WordPress logs the user in automatically<\/li>\n<li>No password is required<\/li>\n<\/ol><\/dd>\n<dt id=\"can%20i%20use%20this%20with%20custom%20login%20pages%3F\"><h3>Can I use this with custom login pages?<\/h3><\/dt>\n<dd><p>Yes. You can use the shortcode <code>[authyo_login]<\/code> on any page or template.<\/p>\n\n<p>You may also use the PHP function:<\/p>\n\n<pre><code>authyo_passwordless_login_form()\n<\/code><\/pre>\n\n<p>inside your theme templates.<\/p><\/dd>\n<dt id=\"what%20happens%20if%20a%20user%20doesn%27t%20receive%20the%20otp%3F\"><h3>What happens if a user doesn't receive the OTP?<\/h3><\/dt>\n<dd><p>Users can click <strong>Resend OTP<\/strong> to request a new code.<\/p>\n\n<p>The OTP expires after 5 minutes. Login tokens also expire after 5 minutes and are deleted immediately after successful login.<\/p><\/dd>\n<dt id=\"is%20this%20plugin%20secure%3F\"><h3>Is this plugin secure?<\/h3><\/dt>\n<dd><p>Yes. The plugin implements multiple security layers:<\/p>\n\n<ul>\n<li>Nonce verification for all AJAX requests (prevents CSRF attacks)<\/li>\n<li>Email address validation and user existence verification<\/li>\n<li>Secure transient storage for OTP sessions (10-minute expiry)<\/li>\n<li>Cryptographically secure token generation using WordPress core functions<\/li>\n<li>Browser-bound tokens validated using a hashed User-Agent signature<\/li>\n<li>Single-use tokens deleted immediately after successful login<\/li>\n<li>Time-limited tokens (5-minute expiry)<\/li>\n<li>Replay attack prevention<\/li>\n<li>Authentication completed using WordPress core authentication mechanisms<\/li>\n<\/ul><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.3<\/h4>\n\n<ul>\n<li>Added video tutorial to readme<\/li>\n<li>Improved Google Authenticator fallback logic to hide on non-existent users<\/li>\n<li>Minor bug fixes<\/li>\n<\/ul>\n\n<h4>1.0.2<\/h4>\n\n<ul>\n<li>Added two factor authenticator as backup method<\/li>\n<li>Performance improvements<\/li>\n<\/ul>\n\n<h4>1.0.1<\/h4>\n\n<ul>\n<li>Performance improvements<\/li>\n<li>Screenshot addon<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release<\/li>\n<li>Fully passwordless login with OTP verification<\/li>\n<li>Secure token-based automatic authentication<\/li>\n<li>Single-use, time-limited login tokens<\/li>\n<li>WordPress login page integration<\/li>\n<li>Custom login shortcode [authyo_login]<\/li>\n<li>Admin settings page<\/li>\n<li>AJAX-powered authentication flow<\/li>\n<li>Immediate dashboard redirect after login<\/li>\n<li>WordPress.org security compliance<\/li>\n<li>Replay attack prevention<\/li>\n<li>Cryptographically secure token generation<\/li>\n<\/ul>","raw_excerpt":"Enable secure OTP login for WordPress with passwordless authentication using email-based one-time passwords (OTP) powered by Authyo.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/test.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/269785","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/test.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/test.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/test.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=269785"}],"author":[{"embeddable":true,"href":"https:\/\/test.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/konceptwise"}],"wp:attachment":[{"href":"https:\/\/test.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=269785"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/test.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=269785"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/test.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=269785"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/test.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=269785"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/test.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=269785"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/test.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=269785"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}