Sign in with Telegram
Sign in with Telegram lets your visitors log in with their Telegram account — no extra password to remember, no new account to create. Unlike older Telegram-login plugins that rely on a script embedded from Telegram (which modern privacy-focused browsers often block), this plugin uses Telegram’s standard OpenID Connect login: a secure redirect to Telegram and back. It works reliably in every browser, including ones with strict tracker blocking turned on. Features “Sign in with Telegram” button on the standard wp-login.php screen, as a [telegram_signin_button] shortcode anywhere on your site, or as a Block Editor block. Account linking from the user profile screen — existing WordPress users can connect or disconnect their Telegram account. Profile sync — display name and avatar from the user’s Telegram profile flow through to the WordPress profile automatically. No automatic account merging — a Telegram identity can only attach to an existing WordPress user through an explicit click-to-link action from a logged-in session, so a stranger who happens to share an email address can never take over an account. Secure by default — uses the same kind of modern, signed redirect flow that “Sign in with Google” and “Sign in with Apple” use. No shared bot-token secret on your server, no manual key rotation. Settings page in wp-admin where you paste the bot’s Client ID + Client Secret, pick the default role for new users, and optionally collect the visitor’s verified phone number or request permission for your bot to message them directly. How it compares to the legacy Login Widget Telegram’s older Login Widget (used by most existing Telegram-login plugins on the directory) is not OAuth or OpenID Connect. It loads a JavaScript file from telegram.org that renders Telegram’s button on your page and then hands the auth result either to a JavaScript callback or to a server URL. Either mode still needs the embedded script to render the button in the first place. That setup is increasingly fragile: Browsers with strict third-party-script blocking — Brave with default shields, Firefox Enhanced Tracking Protection on Strict, Safari Lockdown Mode, uBlock Origin filter lists — frequently block the embedded script outright, so the button never renders and visitors have no way to start the flow. The widget’s authentication hash is an HMAC-SHA256 over your bot token, so anyone who wants to verify a login has to hold a copy of that secret. There’s no standard JWT / JWKS story to lean on. Key rotation is manual — changing the HMAC key means rotating the bot token in BotFather and updating it on every server that verifies logins. Sign in with Telegram uses Telegram’s newer OpenID Connect provider instead — a standard server-side redirect flow with a properly signed RS256 id_token. No third-party scripts on your pages, no shared bot-token secret with verifiers, automatic key rotation via JWKS. It behaves the same regardless of how privacy-locked-down the visitor’s browser is. External services This plugin connects to Telegram’s OpenID Connect provider at oauth.telegram.org so visitors can sign in with their Telegram account. No data is sent to Telegram unless a visitor actively starts a sign-in. What is sent, and when: Sign-in start. When a visitor clicks the “Sign in with Telegram” button, their browser is redirected to oauth.telegram.org with the bot’s Client ID, the requested scopes (always openid and profile; additionally phone and / or telegram:bot_access if you enabled those in Settings → Sign in with Telegram), a random state, a random nonce, and a PKCE code_challenge (SHA-256). The only user-specific traffic at this step is the browser redirect itself. If the discovery cache is cold (see below), building the redirect URL also triggers an anonymous server-side GET of the discovery document — no user data in that request. Sign-in callback. After the visitor approves the sign-in on Telegram’s side, Telegram redirects them back to your site with an authorization code. The plugin then makes a single server-to-server POST to Telegram’s token endpoint, sending the Client ID + Client Secret (as HTTP Basic auth), the code, the matching PKCE code_verifier, and the redirect URI. Telegram responds with a signed id_token containing the visitor’s Telegram identifier, name, profile picture URL, and (if the phone scope was granted) phone number. Discovery + JWKS lookup. The first sign-in after activation (and again after the local cache expires, 12 hours) triggers a one-off, anonymous GET to Telegram’s OpenID Connect discovery document and JSON Web Key Set (JWKS) at oauth.telegram.org. Both responses are cached in WordPress transients. If a later id_token references a signing key that isn’t in the cache (Telegram rotated keys), the JWKS is re-fetched once; a short cooldown prevents repeated refresh attempts. No user data is sent in any of these requests. This service is provided by Telegram. Refer to Telegram’s Terms of Service and Privacy Policy for details on how Telegram handles the sign-in.
Top keywords
- telegram34×4.13%
- sign8×0.97%
- account7×0.85%
- bot6×0.73%
- button6×0.73%
- connect6×0.73%
- id6×0.73%
- key6×0.73%
- openid6×0.73%
- profile6×0.73%
- redirect6×0.73%
- sign-in6×0.73%
Simpler Checkout
The Simpler Checkout button lets your customers complete their purchases in seconds. Customers using Simpler for the first time will fill in a simple form once. For all the next purchases, they can complete their orders with one click, regardless of device or browser, and without a password. Simpler checkout is designed based on conversion best practices, reducing friction and increasing sales. 1.4.11 Fix(compat): Apply custom order numbers to emails and Simpler 1.4.10 Feat(compat): Custom Order Numbers for WooCommerce 1.4.9 Feat: Accept regulatory_code (e.g. DNI) on order submission Feat: Billing address handling 1.4.8 Fix: persist voucher meta on order creation for v3.3 1.4.7 Fix: Set woocommerce taxes when creating order shipping line item manually 1.4.6 Fix(sequra): Save payment type meta on order creation; fix empty payment gateway ID fallback; sync shipment status 1.4.5 Compat: BOPO Bundle Builder Premium Compat: WooCommerce Order Attribution 10.x 1.4.4 Compat: BOPO Bundle Builder 1.4.3 Feat(compat): TranslatePress – Multilingual 1.4.2 Fix(compat): BOX NOW Delivery 3.2.1 1.4.1 Fix: Cart request URL 1.4.0 Breaking: Drop support for PHP versions <7.4 Fix: SLM phone field, collect package rates before calculating quotes Fix(submit): Add shipping item only if not exists Fix(hook): Pass shipping method on COD hook 1.3.5 Feat: use /v1/cart-requests to create carts for takeover 1.3.4 Fix: compatibility with woocommerce 10.4+ 1.3.3 Fix(takeover): use determine_locale with extra filter for language resolution 1.3.2 Feat: handle grouped products Fix: normalize option keys in product feed Fix: handle stock status in product feed Compat: Skroutz Lockers 1.3.1 Fix: normalize product feed and product details request responses 1.3.0 Feat: introduce product feed route 1.2.7 Fix(coupons): Check if coupon already exists in session cart before applying it 1.2.6 Fix(compat): Set order status to complete for digital vouchers from WooCommerce PDF Vouchers 1.2.5 Fix: Pass shipping as order item for WC 10.3.0 1.2.4 Fix: Should render button for WooCommerce PDF Vouchers 1.2.3 Feat: Default support for woo attribution to true Fix: Support extra keys for order attribution meta Compat: WooCommerce PDF Vouchers 1.2.2 Fix: Payment method title 1.2.1 Feat: Clean output buffers before writing api json responses 1.2.0 Feat: Check verification token before auto-login on order success 1.1.13 Compat: EU VAT Compliance Premium 1.1.12 Fix(compat): WC Pickup Store 1.1.11 Fix(multi-currency): Full support of multi-currency Feat(settings): Disable force login 1.1.10 Chore: strict time frame 1.1.9 Compat: WPML Multicurrency Compat: Pre-Orders for WooCommerce 1.1.8 Fix: Bank transfer email on order submit (default status: on-hold) Fix: Order notes 1.1.7 Compat: PW WooCommerce Gift Cards 1.1.6 Compat: Gift Wrapping for WooCommerce Feat: Link stub payment gateway settings screen to plugin settings for configuration Fix: WooCommerce order attribution hooks race condition Fix: Ignore shipping address when quote is for virtual cart Fix(COD): include restrictions 1.1.5 Fix/Compat: WC Smart COD / availability to set 0 fees 1.1.4 Fix/Compat: WC Smart COD / include tax 1.1.3 Feat: Bank transfer payment method Fix/Compat: WC Smart COD 1.1.2 Compat: WPC Product Bundles for WooCommerce Compat: WPC Frequently Bought Together for WooCommerce 1.1.1 Compat: Asana WooCommerce Dynamic Pricing and Discounts 1.1.0 Feat(hook): custom cod cost hook 1.0.9 Fix(takeover-checkout): prevent redirection if cart has no products Compat: BoxNow ‘Pay on the Go’ payment method as COD 1.0.8 Feat: takeover checkout (Replace native checkout with Simpler) 1.0.7 Compat: WC Smart COD 1.0.6 Fix: increase http timeout for integration status call Compat: Rightpress Dynamic Discounts 1.0.5 fix(payment): enable payment gateway and hide it from checkout 1.0.4 Compat: BOGO 1.0.3 Feat: handle bundle discounted products 1.0.2 Feat: simplerwc_customer_properties filter Compat: WC Pickup Store 1.0.1 Hotfix: default to production environment when no explicit setting 1.0.0 Feat: new simplerwc_order_created action on successful submission Feat: run woocommerce_checkout_order_created action on successful submission Feat: remove sandbox option as Simpler production environment now supports Test Stores 0.7.11 Compat: WordPress 6.5 0.7.10 Feat: Experimental support for WooCommerce Order Attribution Tracking 0.7.9 Compat: Pay for Payment for WooCommerce 0.7.8 Fix: omit coupon from button payload if empty 0.7.7 Feat: introduce simplerwc_should_render_product_button and simplerwc_should_render_cart_button filters for granular control of rendering logic Feat: introduce simplerwc_button_get_product_attibutes and simplerwc_get_cart_item_data filters for managing cart item attributes Compat: iThemeland Free Gifts 0.7.6 Fix: COD filters invocation 0.7.5 Feat: Parse company invoicing details in order request Fix: do not set payment method title when payment method is not simpler 0.7.4 Feat: Support COD payment method Compat: Smart COD plugin support 0.7.3 Compat: BoxNow v2 plugin support 0.7.2 Feat: Allow switching to sandbox environment from single distributable 0.7.1 Fix: Correct auth cookie argument in login before order confirmation redirect 0.7.0 Feat: Login user before redirecting to order confirmation 0.6.2 Feat: Add Minicart placement setting Fix: remove excessive free gifts returned in products response when FGF plugin is active 0.6.1 Compat: BoxNow support 0.6.0 Compat: WooCommerce Local Pickup Plus support Fix: Apply coupons before collecting shipping rates to account for free shipping coupons Fix: Set chosen shipping method on retrieved package keys instead of defaulting to 0 0.5.8 Fix: WooCommerce Product Bundles correct quantity payload when bundle is in cart 0.5.7 Fix: Free Gifts for Woocommerce support for cart checkout with gift 0.5.6 Free Gifts for Woocommerce support 0.5.5 Support Product Bundles created with WooCommerce Product Bundles plugin 0.5.4 Calculate discounted tax when simpler discount present Fix : check data validity when invoking simplerwc_should_render_button function 0.5.3 Optionally include customer email during quotation to handle coupon usage limits Fix : Refactor submission flow to ensure shipping tax calculation works as intended 0.5.2 Fix: Cost reporting in order confirmation email Remove deprecated order submission functionality Remove deprecated Offers tab from Settings 0.5.1 Hotfix: Include customer name & phone in order shipping address 0.5.0 Support custom fees during cart fees calculation Breakdown products cost during quotation Excluded specific user roles from viewing the button Fix: Price rounding Fix: Include tax in coupons 0.4.0 Breaking : Drop support for legacy SDK Add configuration option to hide the product page button if cart contains at least one item Include amount in refund request to account for partial refunds Introduce programmatic filter to modify shipping rates during quotation Fix : Include tax amount in shipping costs during quotation Fix : Respect prices when input excluding tax 0.3.3 Introduce products route to speed up product details retrieval Introduce /v2/order route to include cart calculation hooks in order submission flow 0.3.2 Fix critical issue preventing the plugin from running on PHP 7.2 Render translated asset texts based on store locale 0.3.1 Add product attributes to simpler integration for variable products. 0.3.0 Extract browser assets to external file, hosted at https://cdn.simpler.so. This behavior can be toggled off by the “use legacy SDK” checkbox in the plugin settings, but is not encouraged. Use a Web Component to render the simpler-checkout button Add separate option to control if checkout button gets rendered in the cart view Accepted cards notice is now controlled by a single option for all positions to enhance consistency