plugin-icon

OpenID Connect Server

作者 Automattic·
使用 OpenID Connect 以透過 WordPress 自架站登入至其他網路服務。
版本
2.0.0
活躍安裝總數
100
最近更新:
Apr 17, 2025

使用這個外掛能讓 WordPress 自架站提供 OpenID Connect 供其他網路服務進行驗證,這樣便能為網站使用者提供單一登入 (SSO,Single Sign-On)。

這個外掛目前僅能使用以下常數及勾點進行組態:

定義 RSA 金鑰

如果網站沒有專屬金鑰,請使用以下命令產生金鑰:

openssl genrsa -out oidc.key 4096 openssl rsa -in oidc.key -pubout -out public.key

並以以下方式將金鑰提供給外掛使用 (必須在 WordPress 載入前加入):

define( 'OIDC_PUBLIC_KEY', <<<OIDC_PUBLIC_KEY -----BEGIN PUBLIC KEY----- ... -----END PUBLIC KEY----- OIDC_PUBLIC_KEY ); define( 'OIDC_PRIVATE_KEY', <<<OIDC_PRIVATE_KEY -----BEGIN PRIVATE KEY----- ... -----END PRIVATE KEY----- OIDC_PRIVATE_KEY );

此外,網站管理員也可以將金鑰儲存於網站根目錄外,並以類似以下的方式載入金鑰檔案:

define( 'OIDC_PUBLIC_KEY', file_get_contents( '/web-inaccessible/oidc.key' ) ); define( 'OIDC_PRIVATE_KEY', file_get_contents( '/web-inaccessible/private.key' ) );

定義用戶端

使用以下方式將篩選器 oidc_registered_clients 新增至個別外掛檔案、網站目前使用的佈景主題的 functions.php 或強制使用的外掛中,便能定義用戶端:

add_filter( 'oidc_registered_clients', 'my_oidc_clients' ); function my_oidc_clients() { return array( 'client_id_random_string' => array( 'name' => 'The name of the Client', 'secret' => 'a secret string', 'redirect_uri' => 'https://example.com/redirect.uri', 'grant_types' => array( 'authorization_code' ), 'scope' => 'openid profile', ), ); }

在快取中排除網址

  • 我們透過設定 Cache-Control: 'no-cache' 標頭及定義 DONOTCACHEPAGE 常數實作在快取中排除網址。如果你的網站有唯一的快取組態,請確保已在快取中排除 example.com/wp-json/openid-connect/userinfo 這個網址。

GitHub 存放庫

如果發現任何問題,請直接在 Automattic/wp-openid-connect-server 這個 GitHub 存放庫回報。

免費使用Business方案
目前已測試版本
WordPress 6.8.3
此外掛程式已可供下載,並可用於你 系統。