跳至主要內容
WordPress.org

Taiwan 正體中文

  • 佈景主題目錄
  • 外掛目錄
  • 最新消息
  • 技術支援
  • 關於我們
  • 團隊
  • 取得 WordPress
取得 WordPress
WordPress.org

Plugin Directory

Twelve Legs Marketing SSO

  • 提交外掛
  • 我的最愛
  • 登入
  • 提交外掛
  • 我的最愛
  • 登入

Twelve Legs Marketing SSO

由 websitetwelvelegsmarketing 開發
下載
  • 詳細資料
  • 使用者評論
  • 安裝方式
  • 開發資訊
技術支援

外掛說明

TWL SSO is a secure single sign-on plugin for WordPress that enables seamless authentication using RS256 JWT tokens from an external SSO application.
This plugin provides login security features and is designed for allowing Twelve Legs Marketing centralized authentication management.

Key Features

  • Single Sign In: Agency employees can log into websites they manage from a central dashboard.
  • Just-in-Time User Provisioning: Automatic user creation and role assignment
  • JWT Validation: Full RS256 signature verification with JWKS endpoint integration
  • Key Rotation: Support key rotation through JWKS endpoint
  • Role Management: Flexible role assignment from JWT claims
  • Referrer Validation: Enhanced security through referrer validation
  • Audience Validation: Ensures tokens are valid for the specific WordPress site
  • Token Expiration: Built-in token expiration and clock skew tolerance
  • Email Validation: Comprehensive email validation with optional allowlist
  • Caching: JWKS caching for improved performance

Security Features

  • Referrer validation to prevent unauthorized access
  • JWT signature verification using public key cryptography
  • Issuer validation to ensure tokens come from trusted sources
  • Audience validation to prevent token reuse across sites
  • Token expiration validation with configurable leeway
  • Email format validation and filtering via hook

Use Cases

  • WordPress installations managed centrally by agency
  • Organization using Google for external identity provider

Usage

Authentication Flow

  1. User clicks login link from SSO application (sso.twelvelegsmarketing.com or wpsso.twelvelegsmarketing.com)
  2. SSO application redirects to WordPress with JWT token: /wp-login.php?action=twl_sso&token=JWT_TOKEN
  3. Plugin validates the JWT token signature and claims
  4. Plugin extracts user information from JWT claims
  5. Plugin creates or retrieves WordPress user
  6. Plugin assigns appropriate role based on JWT claims
  7. User is logged into WordPress

JWT Claims

The plugin expects the following JWT claims:

  • email or sub: User’s email address
  • iss: Issuer (must match allowed issuers)
  • aud: Audience (must match WordPress site URL)
  • exp: Expiration time
  • nbf: Not before time (optional)
  • wp_role: WordPress role to assign (optional)
  • name: User’s display name (optional)
  • given_name: User’s first name (optional)
  • family_name: User’s last name (optional)

Configuration

The plugin automatically configures itself based on the WordPress environment:

  • Production: Allows https://sso.twelvelegsmarketing.com and https://wpsso.twelvelegsmarketing.com as issuers
  • Development/Staging: Also allows https://localhost:8443 as issuer

Customization

You can customize the plugin behavior using WordPress filters:

  • twl_sso_allow_email: Filter to control which email addresses are allowed
  • twl_sso_allowed_roles: Filter to control which roles can be assigned
  • twl_sso_allowed_issuers: Filter to control which issuers are allowed

Support

For support, please contact Twelve Legs Marketing at https://twelvelegsmarketing.com

Privacy Policy

This plugin does not collect, store, or transmit any personal data. All authentication is handled through secure JWT tokens from your configured SSO provider.

安裝方式

  1. Upload the plugin files to the /wp-content/plugins/twelve-legs-marketing-sso/ directory, or install the plugin through the WordPress plugins screen directly.
  2. Activate the plugin through the ‘Plugins’ screen in WordPress

Manual Installation

  1. Download the plugin files
  2. Extract the files to your /wp-content/plugins/twelve-legs-marketing-sso/ directory

常見問題集

How does this plugin work?

The plugin intercepts login requests with a special action parameter and JWT token. It validates the JWT signature using public keys from a JWKS endpoint, extracts user information from the token claims, and creates or updates the WordPress user accordingly.

What JWT algorithm does this plugin support?

This plugin supports RS256 (RSA with SHA-256) JWT signatures only. This provides strong security through public key cryptography.

Can I use this with any SSO provider?

The plugin is designed to work with any SSO provider that can issue RS256 JWTs and provide a JWKS endpoint. You’ll need to configure your SSO provider to issue tokens with the correct audience and claims.

How do I configure the allowed issuers?

The plugin automatically configures allowed issuers based on the WordPress environment. In production, https://sso.twelvelegsmarketing.com and https://wpsso.twelvelegsmarketing.com are allowed. In development/staging, https://localhost:8443 is also allowed.

What happens if a user doesn’t exist?

The plugin will automatically create a new WordPress user with the information from the JWT claims. The username is generated from the email address, and a random password is assigned.

How are user roles assigned?

User roles can be assigned in two ways:
1. Through the wp_role claim in the JWT token
2. Using the WordPress default role if no role is specified in the token

Is this plugin secure?

Yes, the plugin implements multiple security layers including JWT signature verification, referrer validation, issuer validation, audience validation, and token expiration checking.

使用者評論

這個外掛目前沒有任何使用者評論。

參與者及開發者

以下人員參與了開源軟體〈Twelve Legs Marketing SSO〉的開發相關工作。

參與者
  • websitetwelvelegsmarketing
  • jeremyjsimmons

將〈Twelve Legs Marketing SSO〉外掛本地化為台灣繁體中文版

對開發相關資訊感興趣?

任何人均可瀏覽程式碼、查看 SVN 存放庫,或透過 RSS 訂閱開發記錄。

變更記錄

2.1

  • Add wpsso.twelvelegsmarketing.com as an allowed production SSO issuer

2.0

  • Validate post-login redirects with allowed redirect hosts
  • Build JWKS fetch URLs with add_query_arg for referrers that already have query parameters
  • Reject replayed JWTs via transient jti tracking
  • Generic SSO authentication failure message with detailed JSONL logging under uploads
  • Rate limit failed SSO attempts (3 per minute, 5-minute lockout)
  • Security audit logging (JSONL, daily files in uploads)

1.1

  • Cache JWKS keys individually in wp_options (no expiration; keys are immutable)

1.0.2

  • Version bump to sync plugin file with readme.txt

1.0.1

  • Update install instructions
  • Updated Required versions

1.0

  • Initial release
  • JWT validation with RS256 signature verification
  • JWKS endpoint integration
  • Environment-based issuer validation
  • Just-in-time user provisioning
  • Role assignment from JWT claims
  • Referrer validation for security
  • Comprehensive test suite with 39 tests

中繼資料

  • 版本 2.1
  • 最後更新 4 週前
  • 啟用安裝數 10+
  • WordPress 版本需求 6.8 或更新版本
  • 已測試相容的 WordPress 版本 7.0.4
  • PHP 版本需求 8.0 或更新版本
  • 語言
    English (US)
  • 標籤:
    authenticationjwtloginSingle Sign-onsso
  • 進階檢視

評分

這個項目尚無任何評論記錄。

撰寫評分

查看全部使用者評論

參與者

  • websitetwelvelegsmarketing
  • jeremyjsimmons

技術支援

使用者可在技術支援論壇提出意見反應或使用問題。

檢視技術支援論壇

  • 關於我們
  • 最新消息
  • 主機代管
  • 隱私權
  • 展示網站
  • 佈景主題目錄
  • 外掛目錄
  • 區塊版面配置目錄
  • Learn
  • 技術支援
  • 開發者資源
  • WordPress.tv ↗
  • 共同參與
  • 活動
  • 贊助基金會 ↗
  • Swag ↗
  • WordPress.com ↗
  • Matt ↗
  • bbPress ↗
  • BuddyPress ↗
WordPress.org
WordPress.org

Taiwan 正體中文

  • 查看我們的 X (之前的 Twitter) 帳號
  • 造訪我們的 Bluesky 帳號
  • 造訪我們的 Mastodon 帳號
  • 造訪我們的 Threads 帳號
  • 造訪我們的 Facebook 粉絲專頁
  • Visit our Instagram account
  • Visit our LinkedIn account
  • 造訪我們的 TikTok 帳號
  • Visit our YouTube channel
  • 造訪我們的 Tumblr 帳號
程式碼,如詩
The WordPress® trademark is the intellectual property of the WordPress Foundation.