{"id":396839,"date":"2026-11-05T06:27:31","date_gmt":"2026-11-05T06:27:31","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/propusk-login-by-phone-vk-id-yandex-id-406-fz\/"},"modified":"2026-11-05T06:27:21","modified_gmt":"2026-11-05T06:27:21","slug":"propusk","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/propusk\/","author":23576795,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.3","stable_tag":"1.0.3","tested":"7.1.4","requires":"6.2","requires_php":"7.4","requires_plugins":null,"header_name":"Propusk Login by Phone with VK ID and Yandex ID (406-FZ)","header_author":"wp-addon.ru","header_description":"\u0412\u0445\u043e\u0434 \u0438 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0430\u0446\u0438\u044f \u043d\u0430 \u0441\u0430\u0439\u0442\u0435 \u043f\u043e 406-\u0424\u0417: \u043f\u043e \u043d\u043e\u043c\u0435\u0440\u0443 \u0442\u0435\u043b\u0435\u0444\u043e\u043d\u0430 \u0441 \u043a\u043e\u0434\u043e\u043c \u0438\u0437 SMS \u0438\u043b\u0438 \u0437\u0432\u043e\u043d\u043a\u043e\u043c, \u0447\u0435\u0440\u0435\u0437 VK ID \u0438 \u042f\u043d\u0434\u0435\u043a\u0441 ID. \u0411\u0435\u0437 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0430\u0446\u0438\u0438 \u043f\u043e \u043e\u0434\u043d\u043e\u0439 \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u043e\u0447\u0442\u0435.","assets_banners_color":"","last_updated":"2026-11-05 06:27:21","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/wp-addon.ru\/propusk\/","header_author_uri":"https:\/\/wp-addon.ru\/","rating":0,"author_block_rating":0,"active_installs":0,"downloads":116,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.3":{"tag":"1.0.3","author":"prohortech","date":"2026-11-05 06:27:21","revision":3785313}},"upgrade_notice":[],"ratings":[],"assets_icons":[],"assets_banners":[],"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.3"],"block_files":[],"assets_screenshots":[],"screenshots":{"1":"Login page with phone, VK ID and Yandex ID buttons.","2":"Phone confirmation with a code.","3":"Overview: enabled login methods and linked users.","4":"VK ID and Yandex ID setup with redirect URLs."}},"plugin_section":[],"plugin_tags":[602,173388,711,290832,290833],"plugin_category":[38,41],"plugin_contributors":[285130],"plugin_business_model":[],"class_list":["post-396839","plugin","type-plugin","status-publish","hentry","plugin_tags-login","plugin_tags-phone-login","plugin_tags-sms","plugin_tags-vk-id","plugin_tags-yandex-id","plugin_category-authentication","plugin_category-communication","plugin_contributors-prohortech","plugin_committers-prohortech"],"banners":[],"icons":{"svg":false,"icon":"https:\/\/s.w.org\/plugins\/geopattern-icon\/propusk.svg","icon_2x":false,"generated":true},"screenshots":[],"raw_content":"<!--section=description-->\n<p>In Russian the plugin is called \u00ab\u0412\u0445\u043e\u0434 406-\u0424\u0417\u00bb. Propusk is an independent plugin by wp-addon.ru and is not affiliated with, endorsed or sponsored by VK or Yandex; VK ID and Yandex ID are trademarks of their owners.<\/p>\n\n<p>Since 1 December 2023, Federal Law No. 406-FZ of 31 July 2023, which amended the law \"On Information\" (149-FZ), allows website owners to authorize users from Russia only by a Russian phone number, through Gosuslugi (ESIA), the Unified Biometric System, or a Russian information system with verified users such as VK ID or Yandex ID. Registration by e-mail alone does not meet this requirement.<\/p>\n\n<p>Since 7 July 2026, article 13.55 of the Russian Code of Administrative Offences sets fines for letting users sign in through foreign services (Google, Apple ID, foreign e-mail): 500,000\u2013700,000 RUB for companies.<\/p>\n\n<p>Propusk adds these login methods to a regular WordPress site:<\/p>\n\n<ul>\n<li><strong>Phone number<\/strong> \u2014 the visitor enters a Russian mobile number and confirms it with a code sent by SMS, or by calling a free number (the call is dropped automatically). Works with the SMS.ru service.<\/li>\n<li><strong>VK ID<\/strong> \u2014 login with a VK, OK or Mail.ru account (OAuth 2.1 with PKCE, no client secret is stored).<\/li>\n<li><strong>Yandex ID<\/strong> \u2014 login with a Yandex account.<\/li>\n<li><strong>Automatic registration<\/strong> \u2014 if there is no account with this phone or VK ID \/ Yandex ID yet, it is created on first login, but only when \"Anyone can register\" is enabled in Settings \u2192 General. New accounts always get a role without editing rights (Subscriber or a similar read-only role such as Customer). Name, e-mail and phone are taken from the service when the user allows it.<\/li>\n<li><strong>Turn off e-mail-only registration<\/strong> \u2014 the WordPress registration form shows only the new methods.<\/li>\n<li><strong>Password login for staff only<\/strong> \u2014 optionally, only administrators and editors keep logging in with a password; everyone else uses the phone, VK ID or Yandex ID.<\/li>\n<li><strong>Profile section<\/strong> \u2014 users link and unlink their phone, VK ID and Yandex ID in their profile, so existing accounts can switch to the new methods.<\/li>\n<li><strong>Shortcode <code>[propusk]<\/code><\/strong> \u2014 put the login block on any page.<\/li>\n<li><strong>Protection<\/strong> \u2014 a user is signed in only after the phone code (or call) is confirmed or VK ID \/ Yandex ID returns a verified account; the OAuth state is bound to the browser and to the current user, linking from the profile requires a nonce. Codes are stored hashed, expire in 5 minutes, allow 5 attempts, can be resent after a minute, and the number of codes per phone and per IP address is limited per hour. Administrator accounts are never linked automatically by e-mail.<\/li>\n<\/ul>\n\n<p>The plugin is free and has no limits. An optional paid add-on, \"Propusk Pro\", is sold separately on wp-addon.ru and adds login through the MAX messenger, WooCommerce My Account and checkout integration, SMSC and SMS Aero, a second login step for administrators, a login journal and a pop-up login button. The free plugin does not contain any locked features.<\/p>\n\n<p>The plugin does not provide legal advice and does not guarantee compliance; it gives you the login methods listed in the law.<\/p>\n\n<h3>External services<\/h3>\n\n<p>The plugin connects to the following third-party services only after you enable and configure them on the settings page.<\/p>\n\n<p><strong>SMS.ru<\/strong> (https:\/\/sms.ru\/) \u2014 sends login codes by SMS and runs phone verification by call.\nWhen a visitor requests a code, the plugin sends the phone number, the text of the message with the code, and the visitor's IP address (used by SMS.ru for anti-fraud protection) to <code>https:\/\/sms.ru\/sms\/send<\/code> or <code>https:\/\/sms.ru\/callcheck\/add<\/code>, and checks the call status at <code>https:\/\/sms.ru\/callcheck\/status<\/code>. On the settings page the \"Check key\" button requests the account balance from <code>https:\/\/sms.ru\/my\/balance<\/code>. Your API key is sent with every request.\nTerms of service and personal data processing: https:\/\/sms.ru\/oferta<\/p>\n\n<p><strong>VK ID<\/strong> (https:\/\/id.vk.com\/) \u2014 login with a VK account.\nWhen a visitor clicks \"VK ID\", they are redirected to <code>https:\/\/id.vk.ru\/authorize<\/code>. After the visitor allows access, the plugin exchanges the one-time code for a token at <code>https:\/\/id.vk.ru\/oauth2\/auth<\/code> and requests the user's ID, name, e-mail and phone at <code>https:\/\/id.vk.ru\/oauth2\/user_info<\/code>. Your app ID is sent with these requests.\nTerms of use: https:\/\/vk.com\/terms \u2014 Privacy policy: https:\/\/vk.com\/privacy<\/p>\n\n<p><strong>Yandex ID<\/strong> (https:\/\/yandex.ru\/id\/) \u2014 login with a Yandex account.\nWhen a visitor clicks \"Yandex ID\", they are redirected to <code>https:\/\/oauth.yandex.ru\/authorize<\/code>. After the visitor allows access, the plugin exchanges the one-time code for a token at <code>https:\/\/oauth.yandex.ru\/token<\/code> (your ClientID and Client secret are sent) and requests the user's ID, name, e-mail and phone at <code>https:\/\/login.yandex.ru\/info<\/code>.\nTerms of use: https:\/\/yandex.ru\/legal\/rules\/ \u2014 Privacy policy: https:\/\/yandex.ru\/legal\/confidential\/<\/p>\n\n<p>No data is sent to the plugin author.<\/p>\n\n<h3>Developers<\/h3>\n\n<p>Filters: <code>prps\/methods<\/code>, <code>prps\/providers<\/code> (add your own SMS gateway), <code>prps\/valid_phone<\/code>, <code>prps\/button_url<\/code>, <code>prps\/before_login<\/code>, <code>prps\/route<\/code>, <code>prps\/settings_defaults<\/code>, <code>prps\/save_settings<\/code>, <code>prps\/admin_tabs<\/code>.\nActions: <code>prps\/loaded<\/code>, <code>prps\/widget<\/code> (login block rendered, enqueue your assets), <code>prps\/signed_in<\/code>, <code>prps\/registered<\/code>, <code>prps\/linked<\/code>, <code>prps\/admin_tab<\/code>, <code>prps\/provider_fields<\/code>.\nUser meta: <code>prps_phone<\/code> (79XXXXXXXXX), <code>prps_vk<\/code>, <code>prps_yandex<\/code>.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Install and activate the plugin.<\/li>\n<li>Open \"WP-ADDON \u2192 \u0412\u0445\u043e\u0434 406-\u0424\u0417\" in the admin menu.<\/li>\n<li>On the \"\u0422\u0435\u043b\u0435\u0444\u043e\u043d\" tab, paste your SMS.ru API key and choose SMS code or call verification.<\/li>\n<li>On the \"VK ID \u0438 \u042f\u043d\u0434\u0435\u043a\u0441 ID\" tab, copy the redirect URL into your VK ID \/ Yandex ID app and paste the app ID (and secret for Yandex).<\/li>\n<li>The login buttons appear on the WordPress login and registration pages. Use the <code>[propusk]<\/code> shortcode to place them on any page.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"how%20much%20does%20login%20by%20phone%20cost%3F\"><h3>How much does login by phone cost?<\/h3><\/dt>\n<dd><p>Each SMS is paid according to the SMS.ru price list. Verification by call is usually cheaper, and for the visitor the call is free. VK ID and Yandex ID are free.<\/p><\/dd>\n<dt id=\"which%20phone%20numbers%20are%20accepted%3F\"><h3>Which phone numbers are accepted?<\/h3><\/dt>\n<dd><p>Russian numbers starting with +7 and an area or mobile code beginning with 3, 4, 8 or 9. Other numbers are rejected, because the law requires a Russian phone number.<\/p><\/dd>\n<dt id=\"what%20happens%20to%20users%20who%20registered%20by%20e-mail%20before%3F\"><h3>What happens to users who registered by e-mail before?<\/h3><\/dt>\n<dd><p>They keep their accounts. They can link a phone, VK ID or Yandex ID in their profile and then log in without a password. Password login can stay enabled for everyone, or be limited to administrators and editors.<\/p><\/dd>\n<dt id=\"who%20can%20get%20a%20new%20account%3F\"><h3>Who can get a new account?<\/h3><\/dt>\n<dd><p>Accounts are created on first login only if both \"\u0421\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c \u0430\u043a\u043a\u0430\u0443\u043d\u0442 \u043f\u0440\u0438 \u043f\u0435\u0440\u0432\u043e\u043c \u0432\u0445\u043e\u0434\u0435\" in the plugin and \"Anyone can register\" in Settings \u2192 General are enabled. The role of a new user is limited to roles without editing rights; if the WordPress default role is higher (for example Editor), Subscriber is used. Administrator, editor and author roles cannot be assigned automatically.<\/p><\/dd>\n<dt id=\"is%20an%20existing%20account%20found%20by%20e-mail%3F\"><h3>Is an existing account found by e-mail?<\/h3><\/dt>\n<dd><p>Yes, if \"\u0423\u0437\u043d\u0430\u0432\u0430\u0442\u044c \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439 \u043f\u043e \u043f\u043e\u0447\u0442\u0435\" is on: a login through VK ID or Yandex ID with the same verified e-mail opens the existing account. Accounts of editors and administrators are never linked this way \u2014 only from their profile after a normal login.<\/p><\/dd>\n<dt id=\"does%20it%20work%20without%20pretty%20permalinks%3F\"><h3>Does it work without pretty permalinks?<\/h3><\/dt>\n<dd><p>Yes. The redirect URL then contains a query parameter. If you turn on pretty permalinks later, update the redirect URL in your VK ID and Yandex ID apps.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.3<\/h4>\n\n<ul>\n<li>Plugin name changed to \"Propusk Login by Phone with VK ID and Yandex ID (406-FZ)\".<\/li>\n<li>New accounts are created only when \"Anyone can register\" is enabled in WordPress, and only with read-only roles.<\/li>\n<li>VK ID \/ Yandex ID login state is bound to the browser and the current user; linking from the profile requires a nonce.<\/li>\n<li>The registration page style is added with wp_add_inline_style(); the login block HTML is no longer filterable.<\/li>\n<\/ul>\n\n<h4>1.0.2<\/h4>\n\n<ul>\n<li>Code cleanup after Plugin Check: the WP-ADDON menu no longer uses shared hooks.<\/li>\n<\/ul>\n\n<h4>1.0.1<\/h4>\n\n<ul>\n<li>The plugin page moved to the shared WP-ADDON admin menu together with other wp-addon.ru plugins.<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>First release.<\/li>\n<\/ul>","raw_excerpt":"Login and registration by Russian phone number (SMS code or a free call), VK ID and Yandex ID, as required by Russian law 406-FZ.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/396839","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=396839"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/prohortech"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=396839"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=396839"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=396839"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=396839"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=396839"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=396839"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}