Description
In Russian the plugin is called «Вход 406-ФЗ». 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.
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.
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–700,000 RUB for companies.
Propusk adds these login methods to a regular WordPress site:
- Phone number — 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.
- VK ID — login with a VK, OK or Mail.ru account (OAuth 2.1 with PKCE, no client secret is stored).
- Yandex ID — login with a Yandex account.
- Automatic registration — 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 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.
- Turn off e-mail-only registration — the WordPress registration form shows only the new methods.
- Password login for staff only — optionally, only administrators and editors keep logging in with a password; everyone else uses the phone, VK ID or Yandex ID.
- Profile section — users link and unlink their phone, VK ID and Yandex ID in their profile, so existing accounts can switch to the new methods.
- Shortcode
[propusk]— put the login block on any page. - Protection — 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.
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.
The plugin does not provide legal advice and does not guarantee compliance; it gives you the login methods listed in the law.
External services
The plugin connects to the following third-party services only after you enable and configure them on the settings page.
SMS.ru (https://sms.ru/) — sends login codes by SMS and runs phone verification by call.
When 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 https://sms.ru/sms/send or https://sms.ru/callcheck/add, and checks the call status at https://sms.ru/callcheck/status. On the settings page the “Check key” button requests the account balance from https://sms.ru/my/balance. Your API key is sent with every request.
Terms of service and personal data processing: https://sms.ru/oferta
VK ID (https://id.vk.com/) — login with a VK account.
When a visitor clicks “VK ID”, they are redirected to https://id.vk.ru/authorize. After the visitor allows access, the plugin exchanges the one-time code for a token at https://id.vk.ru/oauth2/auth and requests the user’s ID, name, e-mail and phone at https://id.vk.ru/oauth2/user_info. Your app ID is sent with these requests.
Terms of use: https://vk.com/terms — Privacy policy: https://vk.com/privacy
Yandex ID (https://yandex.ru/id/) — login with a Yandex account.
When a visitor clicks “Yandex ID”, they are redirected to https://oauth.yandex.ru/authorize. After the visitor allows access, the plugin exchanges the one-time code for a token at https://oauth.yandex.ru/token (your ClientID and Client secret are sent) and requests the user’s ID, name, e-mail and phone at https://login.yandex.ru/info.
Terms of use: https://yandex.ru/legal/rules/ — Privacy policy: https://yandex.ru/legal/confidential/
No data is sent to the plugin author.
Developers
Filters: prps/methods, prps/providers (add your own SMS gateway), prps/valid_phone, prps/button_url, prps/before_login, prps/route, prps/settings_defaults, prps/save_settings, prps/admin_tabs.
Actions: prps/loaded, prps/widget (login block rendered, enqueue your assets), prps/signed_in, prps/registered, prps/linked, prps/admin_tab, prps/provider_fields.
User meta: prps_phone (79XXXXXXXXX), prps_vk, prps_yandex.
Installation
- Install and activate the plugin.
- Open “WP-ADDON Вход 406-ФЗ” in the admin menu.
- On the “Телефон” tab, paste your SMS.ru API key and choose SMS code or call verification.
- On the “VK ID и Яндекс ID” tab, copy the redirect URL into your VK ID / Yandex ID app and paste the app ID (and secret for Yandex).
- The login buttons appear on the WordPress login and registration pages. Use the
[propusk]shortcode to place them on any page.
FAQ
-
How much does login by phone cost?
-
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.
-
Which phone numbers are accepted?
-
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.
-
What happens to users who registered by e-mail before?
-
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.
-
Who can get a new account?
-
Accounts are created on first login only if both “Создавать аккаунт при первом входе” in the plugin and “Anyone can register” in Settings 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.
-
Is an existing account found by e-mail?
-
Yes, if “Узнавать пользователей по почте” 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 — only from their profile after a normal login.
-
Does it work without pretty permalinks?
-
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.
Reviews
There are no reviews for this plugin.
Contributors & Developers
“Propusk Login by Phone with VK ID and Yandex ID (406-FZ)” is open source software. The following people have contributed to this plugin.
ContributorsTranslate “Propusk Login by Phone with VK ID and Yandex ID (406-FZ)” into your language.
Interested in development?
Browse the code, check out the SVN repository, or subscribe to the development log by RSS.
Changelog
1.0.3
- Plugin name changed to “Propusk Login by Phone with VK ID and Yandex ID (406-FZ)”.
- New accounts are created only when “Anyone can register” is enabled in WordPress, and only with read-only roles.
- VK ID / Yandex ID login state is bound to the browser and the current user; linking from the profile requires a nonce.
- The registration page style is added with wp_add_inline_style(); the login block HTML is no longer filterable.
1.0.2
- Code cleanup after Plugin Check: the WP-ADDON menu no longer uses shared hooks.
1.0.1
- The plugin page moved to the shared WP-ADDON admin menu together with other wp-addon.ru plugins.
1.0.0
- First release.