[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fpN7VSo3HBWUwLPw9SmszUc2d2WYF5KsvuTlKq6AQzX4":3,"$fQW_cu6KC-yM-K74I0hurwKfB8aauHQi7akQRsEzYHRw":128,"$flYqTuT0JrXS1ONwRhxiqok6OhvWfmVfNcJD89Klp7go":133},{"slug":4,"name":5,"version":6,"author":7,"author_profile":8,"description":9,"short_description":10,"active_installs":11,"downloaded":12,"rating":13,"num_ratings":14,"last_updated":15,"tested_up_to":16,"requires_at_least":17,"requires_php":18,"tags":19,"homepage":25,"download_link":26,"security_score":27,"vuln_count":28,"unpatched_count":28,"last_vuln_date":29,"fetched_at":30,"discovery_status":31,"vulnerabilities":32,"developer":33,"crawl_stats":29,"alternatives":40,"analysis":29,"fingerprints":29},"prestashop-user-compatibility","Prestashop User Compatibility","1.3","curlybracket","https:\u002F\u002Fprofiles.wordpress.org\u002Fveganist\u002F","\u003Cp>This plugin will allow you to automatically rehash the passwords of users you have beforehand imported from a Prestashop database to your WordPress database.\u003C\u002Fp>\n\u003Cp>This is useful if you are migrating a website from Prestashop to WordPress.\u003C\u002Fp>\n\u003Cp>It allows users to authenticate via their email address, like on a Prestashop installation.\u003C\u002Fp>\n\u003Cp>Upon login, the plugin will check the password entered by the user, against the value stored in the database. Using the COOKIE_KEY of the former Prestashop installation, it’ll verify if the password is correct and, only in that case, it’ll rehash the password using WordPress’ default hashing algorithm and insert the new password to the database. Then it’ll try logging in.\u003C\u002Fp>\n\u003Cp>In every other case, login will function normally, so if there is an error, it’ll be returned.\u003C\u002Fp>\n\u003Cp>In a while, every former Prestashop user you have imported to your WP DB will have their passwords securely rehashed.\u003C\u002Fp>\n\u003Cp>First tested successfully with Prestashop 1.3.5 and WordPress 3.6.\u003Cbr \u002F>\nLately tested successfully with Prestashop 1.5.6.1 and WordPress 3.9.\u003C\u002Fp>\n","This plugin will automatically rehash the passwords of users you have beforehand imported from a Prestashop database to your WP database.",10,4094,100,2,"2016-11-13T16:22:00.000Z","4.0.38","2.8","",[20,21,22,23,24],"authentication","email","login","prestashop","users","http:\u002F\u002Fcurlybracket.net\u002F2012\u002F12\u002F28\u002Fprestashop-user-compatibility\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fprestashop-user-compatibility.1.3.zip",85,0,null,"2026-07-22T17:31:50.256Z","no_bundle",[],{"slug":34,"display_name":7,"profile_url":8,"plugin_count":35,"total_installs":36,"avg_security_score":27,"avg_patch_time_days":37,"trust_score":38,"computed_at":39},"veganist",5,50,30,84,"2026-08-29T03:25:00.942Z",[41,57,75,95,110],{"slug":42,"name":43,"version":44,"author":7,"author_profile":8,"description":45,"short_description":46,"active_installs":11,"downloaded":47,"rating":48,"num_ratings":49,"last_updated":50,"tested_up_to":51,"requires_at_least":17,"requires_php":18,"tags":52,"homepage":54,"download_link":55,"security_score":27,"vuln_count":28,"unpatched_count":28,"last_vuln_date":29,"fetched_at":56},"magento-user-compatibility","Magento User Compatibility","1.1","\u003Cp>This plugin will allow you to automatically rehash the passwords of users you have beforehand imported from a Magento database to your WordPress database.\u003C\u002Fp>\n\u003Cp>This is useful if you are migrating a website from Magento to WordPress.\u003C\u002Fp>\n\u003Cp>It allows users to authenticate via their email address, like on a Magento installation.\u003C\u002Fp>\n\u003Cp>Upon login, the plugin will check the password entered by the user, against the value stored in the database. It’ll verify if the password is correct and, only in that case, it’ll rehash the password using WordPress’ default hashing algorithm and insert the new password to the database. Then it’ll try logging in.\u003C\u002Fp>\n\u003Cp>In every other case, login will function normally, so if there is an error, it’ll be returned.\u003C\u002Fp>\n\u003Cp>In a while, every former Magento user you have imported to your WP DB will have their passwords securely rehashed.\u003C\u002Fp>\n\u003Cp>Tested successfully with Magento 1.8.0.0 and WordPress 3.7.1.\u003C\u002Fp>\n","This plugin will automatically rehash the passwords of users you have beforehand imported from a Magento database to your WP database.",2470,86,3,"2016-11-14T15:48:00.000Z","3.7.41",[20,21,22,53,24],"magento","http:\u002F\u002Fcurlybracket.net\u002F2013\u002F12\u002F05\u002Fmagento-user-compatibility\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fmagento-user-compatibility.zip","2026-04-16T10:56:18.058Z",{"slug":58,"name":59,"version":60,"author":61,"author_profile":62,"description":63,"short_description":64,"active_installs":65,"downloaded":66,"rating":28,"num_ratings":28,"last_updated":67,"tested_up_to":68,"requires_at_least":69,"requires_php":70,"tags":71,"homepage":73,"download_link":74,"security_score":27,"vuln_count":28,"unpatched_count":28,"last_vuln_date":29,"fetched_at":30},"force-login-with-email","Force Login With Email","1.0.5","MarcosAlexandre","https:\u002F\u002Fprofiles.wordpress.org\u002Fmarcosalexandre\u002F","\u003Cp>Force Login With Email is a fork of the Email Login Auth plugin. It is a very simple WordPress plugin, which allows users to login with their account email address. Just install, activate it and try to re-login! You can also disable login with username for all users or for ‘admin’ only.\u003C\u002Fp>\n\u003Ch4>How to use\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>After installation, enable the plugin.\u003C\u002Fli>\n\u003Cli>Now you and your users will be able to login using their account e-mail address!\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Development\u003C\u002Fh3>\n\u003Cp>This version of the \u003Cstrong>Force Login With Email\u003C\u002Fstrong> plugin was developed without any connection with the previous developer and we count on your help to improve the code and operation of this plugin.\u003C\u002Fp>\n\u003Ch4>Compatibility\u003C\u002Fh4>\n\u003Cp>Compatible since version 4.0.x of WordPress.\u003Cbr \u002F>\nCompatible since version 3.0.x of WooCommerce.\u003C\u002Fp>\n\u003Ch3>Doubts?\u003C\u002Fh3>\n\u003Cp>You can ask questions by:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Using our \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fmarcos-alexandre82\u002Fforce-login-with-email\u002Fissues\u002F\" rel=\"nofollow ugc\">forum on Github\u003C\u002Fa>.\u003C\u002Fli>\n\u003Cli>Creating a topic in the \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fsupport\u002Fplugin\u002Fforce-login-with-email\u002F\" rel=\"ugc\">WordPress help forum\u003C\u002Fa>.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Credits\u003C\u002Fh4>\n\u003Cp>This plugin is a fork that implements internationalization and continues the excellent plugin developed by \u003Ca href=\"https:\u002F\u002Fprofiles.wordpress.org\u002Fmikk_cz\u002F\" rel=\"nofollow ugc\">Michal Stanke\u003C\u002Fa> in:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Femail-login-auth\u002F\" rel=\"ugc\">Email Login Auth\u003C\u002Fa>.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Banner:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fbr.freepik.com\u002Ffotos-vetores-gratis\u002Ffundo\u002F\" rel=\"nofollow ugc\">Freepik\u003C\u002Fa>.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Icon:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fbr.freepik.com\u002Ffotos-vetores-gratis\u002Fnegocio\u002F\" rel=\"nofollow ugc\">Freepik\u003C\u002Fa>.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Contributors\u003C\u002Fh4>\n\u003Cp>You can contribute source code on our page at \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fmarcos-alexandre82\u002Fforce-login-with-email\u002Fissues\u002F\" rel=\"nofollow ugc\">GitHub\u003C\u002Fa>.\u003C\u002Fp>\n","Enable login in WordPress only with user e-mail address.",200,9407,"2020-07-13T23:52:00.000Z","5.4.19","4.0","5.6",[20,21,22,72],"username","https:\u002F\u002Fgithub.com\u002Fmarcos-alexandre82\u002Fforce-login-with-email","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fforce-login-with-email.1.0.5.zip",{"slug":76,"name":77,"version":78,"author":79,"author_profile":80,"description":81,"short_description":82,"active_installs":13,"downloaded":83,"rating":13,"num_ratings":49,"last_updated":84,"tested_up_to":85,"requires_at_least":86,"requires_php":87,"tags":88,"homepage":90,"download_link":91,"security_score":92,"vuln_count":93,"unpatched_count":28,"last_vuln_date":94,"fetched_at":30},"magic-login-mail","Magic Login Mail or QR Code","2.07","Katsushi Kawamori","https:\u002F\u002Fprofiles.wordpress.org\u002Fkatsushi-kawamori\u002F","\u003Cp>Enter your email address, and send you an email with a magic link or QR Code to login without a password.\u003C\u002Fp>\n\u003Ch4>Login\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Login with email address only.\u003C\u002Fli>\n\u003Cli>Only registered users can login.\u003C\u002Fli>\n\u003Cli>Password-less login from the magic link or QR code notified in the email.\u003C\u002Fli>\n\u003Cli>shortcode : \u003Ccode>[magic_login]\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>action hook : \u003Ccode>do_action( 'magic_email_send', $emails | array, true | bool )\u003C\u002Fcode> : To send the magic link simultaneously from the management account.\u003C\u002Fli>\n\u003Cli>QR code login on the user’s administration screen.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Thanks\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>This plugin is a modified version of \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fpasswordless-login\u002F\" rel=\"ugc\">Passwordless Login\u003C\u002Fa>.\u003C\u002Fli>\n\u003Cli>The main changes are the addition of various filter hooks and the addition of the following action hooks.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Action hook\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>This is for sending bulk e-mails with a magic link for login to multiple accounts from the management screen.\u003C\u002Fli>\n\u003Cli>When using this action hook, the URL of the page where the shortcode [magic_login] is placed should be specified in the filter hook ‘magic_login_mail_url’.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cpre>\u003Ccode>\u002F** ==================================================\n * To send the magic link simultaneously from the management account.\n *\n * @param array  $emails  Multiple email addresses.\n * @param bool   true  Output notifications to the management screen immediately after sending.\n *\u002F\ndo_action( 'magic_email_send', $emails, true );\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch4>Filter hooks\u003C\u002Fh4>\n\u003Cpre>\u003Ccode>\u002F** ==================================================\n * Filter for magic link url with mail.\n *\n *\u002F\nadd_filter( 'magic_login_mail_url', function(){ return 'url'; }, 10, 1 );\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cpre>\u003Ccode>\u002F** ==================================================\n * Currently logged in user link for Magic Login Mail\n *\n * @param string $url  URL.\n * @param int    $user_id  User ID.\n * @return $url\n *\u002F\nadd_filter( 'magic_login_mail_user_redirect', 'redirect_url_login_users', 10, 2 );\n\n\u002F** ==================================================\n * Login user after redirect for Magic Login Mail\n *\n * @param string $url  URL.\n * @param int    $user_id  User ID.\n * @return $url\n *\u002F\nadd_filter( 'magic_login_mail_after_login_redirect', 'redirect_url_login_users', 10, 2 );\n\nfunction redirect_url_login_users( $url, $user_id ){\n    \u002F* your code *\u002F\n    return $url;\n}\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cpre>\u003Ccode>\u002F** ==================================================\n * Filter for message with shortcode form.\n *\n *\u002F\nadd_filter( 'magic_login_mail_success_link_msg', function(){ return 'Message for success.'; }, 10, 1 );\nadd_filter( 'magic_login_mail_success_login_msg', function(){ return 'Message for success with login.'; }, 10, 1 );\nadd_filter( 'magic_login_mail_valid_errors', function(){ return 'Message for mail validation error.'; }, 10, 1 );\nadd_filter( 'magic_login_mail_email_errors', function(){ return 'Message for sent mail error.'; }, 10, 1 );\nadd_filter( 'magic_login_mail_invalid_token_error', function(){ return 'Message for token error.'; }, 10, 1 );\nadd_filter( 'magic_login_mail_form_label', function(){ return 'Message for form label.'; }, 10, 1 );\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cpre>\u003Ccode>\u002F** ==================================================\n * Filter for color with shortcode form.\n *\n *\u002F\nadd_filter( 'magic_login_mail_success_link_msg_back_color', function(){ return '#e7f7d3'; }, 10, 1 );\nadd_filter( 'magic_login_mail_success_login_msg_back_color', function(){ return '#e7f7d3'; }, 10, 1 );\nadd_filter( 'magic_login_mail_valid_errors_back_color', function(){ return '#ffebe8'; }, 10, 1 );\nadd_filter( 'magic_login_mail_email_errors_back_color', function(){ return '#ffebe8'; }, 10, 1 );\nadd_filter( 'magic_login_mail_invalid_token_error_back_color', function(){ return '#ffebe8'; }, 10, 1 );\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cpre>\u003Ccode>\u002F** ==================================================\n * Filter for input text size.\n *\n *\u002F\nadd_filter( 'magic_login_mail_input_size', function(){ return 17; }, 10, 1 );\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cpre>\u003Ccode>\u002F** ==================================================\n * Filter for class name.\n *\n *\u002F\nadd_filter( 'magic_login_mail_notice_class_name', function(){ return 'mynotice'; }, 10, 1 );\nadd_filter( 'magic_login_mail_form_class_name', function(){ return 'myform'; }, 10, 1 );\nadd_filter( 'magic_login_mail_label_class_name', function(){ return 'mylabel'; }, 10, 1 );\nadd_filter( 'magic_login_mail_input_class_name', function(){ return 'myinput'; }, 10, 1 );\nadd_filter( 'magic_login_mail_submit_class_name', function(){ return 'mysubmit'; }, 10, 1 );\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cpre>\u003Ccode>\u002F** ==================================================\n * Filter for message with mail subject.\n *\n *\u002F\nadd_filter( 'magic_login_mail_subject', function(){ return 'subject'; }, 10, 1 );\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cpre>\u003Ccode>\u002F** ==================================================\n * Filter for message with mail.\n *\n * @param string $message  message.\n * @param string $url  url.\n * @param string $exp_date_time  expiration date and time.\n *\u002F\nadd_filter(\n    'magic_login_mail_message',\n    function( $message, $url, $exp_date_time ) {\n\n        $message .= '\u003Cbr>\u003Cbr>' . 'You may only log in once using the link above.';\n\n        return $message;\n    },\n    10,\n    3\n);\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cpre>\u003Ccode>\u002F** ==================================================\n * Filter for login expiration.\n *\n *\u002F\nadd_filter( 'magic_login_mail_expiration', function(){ return 10; }, 10, 1 );\n\u003C\u002Fcode>\u003C\u002Fpre>\n","Enter your email address, and send you an email with a magic link or QR Code to login without a password.",7020,"2026-06-27T03:18:00.000Z","7.0.2","4.7","8.0",[21,22,89,24],"passwordless","https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fmagic-login-mail\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fmagic-login-mail.2.07.zip",98,1,"2026-02-13 16:21:07",{"slug":96,"name":97,"version":44,"author":98,"author_profile":99,"description":100,"short_description":101,"active_installs":13,"downloaded":102,"rating":13,"num_ratings":14,"last_updated":103,"tested_up_to":85,"requires_at_least":104,"requires_php":105,"tags":106,"homepage":108,"download_link":109,"security_score":13,"vuln_count":28,"unpatched_count":28,"last_vuln_date":29,"fetched_at":30},"onecode-login","OneCode Login","oaron","https:\u002F\u002Fprofiles.wordpress.org\u002Foaron\u002F","\u003Cp>OneCode Login provides a modern, passwordless authentication experience for your WordPress site. Instead of traditional passwords, users receive a secure 6-digit verification code via email.\u003C\u002Fp>\n\u003Ch4>Key Features\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Cstrong>Passwordless Authentication\u003C\u002Fstrong> – Users log in with just their email address\u003C\u002Fli>\n\u003Cli>\u003Cstrong>6-Digit Verification Codes\u003C\u002Fstrong> – Secure, time-limited codes sent via email\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Rate Limiting\u003C\u002Fstrong> – Built-in protection against brute force attacks\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Request ID Binding\u003C\u002Fstrong> – Each code is bound to a specific login session for enhanced security\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Neutral Feedback\u003C\u002Fstrong> – Prevents user enumeration attacks by not revealing if an email exists\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Customizable\u003C\u002Fstrong> – Configure expiry times, cooldowns, and email templates\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Accessible\u003C\u002Fstrong> – Full keyboard navigation and screen reader support\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Gutenberg Block\u003C\u002Fstrong> – Easy to add login forms to any page\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Shortcode Support\u003C\u002Fstrong> – Use [onecode_login] anywhere\u003C\u002Fli>\n\u003Cli>\u003Cstrong>wp-login.php Integration\u003C\u002Fstrong> – Optionally replace the default WordPress login\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Developer API\u003C\u002Fstrong> – Other plugins can use OneCode Login as an email one-time-code (OTP) service to verify a visitor’s email — see the \u003Cem>Developer information\u003C\u002Fem> section\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Security Features\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Cryptographically secure code generation\u003C\u002Fli>\n\u003Cli>Codes and magic-link tokens are stored HMAC-hashed, never in plain text\u003C\u002Fli>\n\u003Cli>Configurable code expiry (default: 10 minutes)\u003C\u002Fli>\n\u003Cli>Resend cooldown to prevent spam\u003C\u002Fli>\n\u003Cli>IP-based and email-based rate limiting\u003C\u002Fli>\n\u003Cli>Automatic lockout after failed attempts\u003C\u002Fli>\n\u003Cli>Codes are single-use and invalidated after successful login\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Use Cases\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Membership sites where password fatigue is an issue\u003C\u002Fli>\n\u003Cli>Customer portals requiring simple authentication\u003C\u002Fli>\n\u003Cli>Internal tools where security without complexity is needed\u003C\u002Fli>\n\u003Cli>Any site wanting to improve user experience\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Developer information\u003C\u002Fh3>\n\u003Cp>Other plugins on the same site can use OneCode Login as a generic email\u003Cbr \u002F>\none-time-code (OTP) service — for example to verify a guest’s email before\u003Cbr \u002F>\nletting them act. OneCode emails the code and verifies it; your plugin keeps\u003Cbr \u002F>\nfull control of its own login\u002Fsession (OneCode only asserts that the code is\u003Cbr \u002F>\nvalid for the email — it never logs anyone in). It works for \u003Cstrong>any\u003C\u002Fstrong> email\u003Cbr \u002F>\naddress; the address does not need a WordPress account.\u003C\u002Fp>\n\u003Cp>All entry points are plain functions (and matching filters), so you do not need\u003Cbr \u002F>\na hard dependency on any class. The API is gated by the \u003Cem>Settings \u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">→\u003C\u002Fspan> Advanced \u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">→\u003C\u002Fspan>\u003Cbr \u002F>\nEnable developer API\u003C\u002Fem> toggle.\u003C\u002Fp>\n\u003Cp>Detect support (side-effect free — never call the request hook just to probe):\u003C\u002Fp>\n\u003Cpre>\u003Ccode>if ( function_exists( 'onecode_login_request_otp' ) && onecode_login_supports( 'otp' ) ) { ... }\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Col>\n\u003Cli>\n\u003Cp>Start authentication — email a code and receive a handle:\u003C\u002Fp>\n\u003Cp>$handle = onecode_login_request_otp( $email, array( ‘consumer’ => ‘my_plugin’ ) );\u003Cbr \u002F>\n\u002F\u002F $handle = array( ‘request_id’, ‘auth_secret’, ‘expires_in’ (seconds), ‘expires_at’ (UTC), ‘sent’ )\u003Cbr \u002F>\n\u002F\u002F On failure: a WP_Error (codes: disabled, invalid_request, rate_limited, cooldown).\u003C\u002Fp>\n\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Cp>Keep \u003Ccode>request_id\u003C\u002Fcode> and \u003Ccode>auth_secret\u003C\u002Fcode> server-side (e.g. in a transient tied to the\u003Cbr \u002F>\nvisitor). The \u003Ccode>auth_secret\u003C\u002Fcode> is NEVER shown to the customer — it is what stops an\u003Cbr \u002F>\noutsider who only knows the email from completing verification by guessing codes.\u003C\u002Fp>\n\u003Col>\n\u003Cli>\n\u003Cp>Complete authentication — the customer gives your plugin the code from the email:\u003C\u002Fp>\n\u003Cp>$result = onecode_login_verify_otp( array(\u003Cbr \u002F>\n    ’email’       => $email,\u003Cbr \u002F>\n    ‘request_id’  => $handle[‘request_id’],\u003Cbr \u002F>\n    ‘code’        => $code_from_customer,\u003Cbr \u002F>\n    ‘auth_secret’ => $handle[‘auth_secret’],\u003Cbr \u002F>\n    ‘consumer’    => ‘my_plugin’,\u003Cbr \u002F>\n) );\u003Cbr \u002F>\n\u002F\u002F Success: array( ‘valid’ => true, ’email’ => … ). Failure: WP_Error.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Cp>On failure show a generic message to the user (the API intentionally returns a\u003Cbr \u002F>\nsingle \u003Ccode>verify_failed\u003C\u002Fcode> code so it can’t be used as an oracle).\u003C\u002Fp>\n\u003Cp>Filters are also available for loose coupling: \u003Ccode>onecode_login_request_otp\u003C\u002Fcode>\u003Cbr \u002F>\n(\u003Ccode>$pre, $email, $args\u003C\u002Fcode>) and \u003Ccode>onecode_login_verify_otp\u003C\u002Fcode> (\u003Ccode>$pre, $args\u003C\u002Fcode>).\u003C\u002Fp>\n\u003Cp>Discovery and capabilities:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Ccode>onecode_login_supports( $feature )\u003C\u002Fcode> — returns true for \u003Ccode>'otp'\u003C\u002Fcode>,\u003Cbr \u002F>\n  ‘identity_assertion’ and \u003Ccode>'any_email'\u003C\u002Fcode>.\u003C\u002Fli>\n\u003Cli>\u003Ccode>onecode_login_api()\u003C\u002Fcode> — returns the \u003Ccode>OneCode_Login_API\u003C\u002Fcode> service instance.\u003C\u002Fli>\n\u003Cli>\u003Ccode>OneCode_Login_API::VERSION\u003C\u002Fcode> — the API contract version (independent of the\u003Cbr \u002F>\nplugin version), so you can feature-gate against the API surface.\u003C\u002Fli>\n\u003Cli>\u003Ccode>do_action( 'onecode_login_api_init', $api )\u003C\u002Fcode> — fires once the API is ready;\u003Cbr \u002F>\nbind to it if you want to wire up as soon as OneCode Login loads.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Reference: \u003Ccode>$args['consumer']\u003C\u002Fcode> (a short \u003Ccode>[a-z0-9_-]\u003C\u002Fcode> label identifying your\u003Cbr \u002F>\nintegration) is required on both calls — it isolates your codes and rate limits\u003Cbr \u002F>\nfrom the built-in login and from other consumers. Both request and verify are\u003Cbr \u002F>\nrate-limited by OneCode, returning \u003Ccode>rate_limited\u003C\u002Fcode> \u002F \u003Ccode>cooldown\u003C\u002Fcode> WP_Errors you can\u003Cbr \u002F>\nsurface to the user.\u003C\u002Fp>\n","Simple and secure passwordless login using email verification codes. No passwords to remember, just enter your email and verify with a 6-digit code.",876,"2026-06-03T19:15:00.000Z","5.8","7.4",[20,21,22,107,89],"otp","https:\u002F\u002Fgithub.com\u002Fyour-repo\u002Fonecode-login","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fonecode-login.zip",{"slug":111,"name":112,"version":113,"author":114,"author_profile":115,"description":116,"short_description":117,"active_installs":118,"downloaded":119,"rating":28,"num_ratings":28,"last_updated":120,"tested_up_to":121,"requires_at_least":122,"requires_php":105,"tags":123,"homepage":126,"download_link":127,"security_score":27,"vuln_count":28,"unpatched_count":28,"last_vuln_date":29,"fetched_at":30},"bh-wp-autologin-urls","Magic Emails & Autologin URLs","2.4.2","Brian Henry","https:\u002F\u002Fprofiles.wordpress.org\u002Fbrianhenryie\u002F","\u003Cp>A new “Email Magic Link” button is added to the standard WordPress and WooCommerce login screens. If there is a user\u003Cbr \u002F>\naccount for the username filled out, they will receive an email with a link to log them in without a password.\u003C\u002Fp>\n\u003Cp>All emails sent from WordPress will contain login codes in links pointing back to the website:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Comment reply emails\u003C\u002Fli>\n\u003Cli>Abandoned cart emails\u003C\u002Fli>\n\u003Cli>Membership reminder emails\u003C\u002Fli>\n\u003Cli>etc.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>No configuration is required, by default:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Autologin URLs work for one week\u003C\u002Fli>\n\u003Cli>Emails to administrators are excluded\u003C\u002Fli>\n\u003Cli>Emails on exclusion shortlist are not modified\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>An API is available for developers to use autologin codes elsewhere in WordPress, e.g. push notifications, and to conditionally disable the plugin’s use. Code is published on GitHub, uses WordPress Plugin Boilerplate, conforms (mostly) to WordPress Coding Standards, and is unit & integration tested.\u003C\u002Fp>\n","Adds magic email link to login screen. Adds single-use passwords to WordPress emails' URLs for frictionless login.",70,6017,"2024-05-26T20:43:00.000Z","6.4.8","4.5.0",[21,124,22,125,24],"links","newsletter","https:\u002F\u002Fwordpress.org\u002FBrianHenryIE\u002Fbh-wp-autologin-urls","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fbh-wp-autologin-urls.zip",{"error":129,"url":130,"statusCode":131,"statusMessage":132,"message":132},true,"http:\u002F\u002Flocalhost\u002Fapi\u002Fplugins\u002Fprestashop-user-compatibility\u002Fbundle",404,"no bundle for this plugin yet",{"slug":4,"current_version":6,"total_versions":14,"versions":134},[135,141],{"version":6,"download_url":26,"svn_tag_url":136,"released_at":29,"has_diff":137,"diff_files_changed":138,"diff_lines":29,"trac_diff_url":139,"vulnerabilities":140,"is_current":129},"https:\u002F\u002Fplugins.svn.wordpress.org\u002Fprestashop-user-compatibility\u002Ftags\u002F1.3\u002F",false,[],"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fchangeset?old_path=%2Fprestashop-user-compatibility%2Ftags%2F1.1&new_path=%2Fprestashop-user-compatibility%2Ftags%2F1.3",[],{"version":44,"download_url":142,"svn_tag_url":143,"released_at":29,"has_diff":137,"diff_files_changed":144,"diff_lines":29,"trac_diff_url":29,"vulnerabilities":145,"is_current":137},"https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fprestashop-user-compatibility.1.1.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Fprestashop-user-compatibility\u002Ftags\u002F1.1\u002F",[],[]]