外掛說明
使用這個外掛能讓 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 存放庫回報。
使用者評論
這個外掛目前沒有任何使用者評論。
參與者及開發者
以下人員參與了開源軟體〈OpenID Connect Server〉的開發相關工作。
參與者變更記錄
1.3.4
- Add the autoloader to the uninstall script #111 props @MariaMozgunova
1.3.3
- Fix failing login when Authorize form is non-English [#108]
- Improvements in site health tests for key detection [#104][#105]
1.3.2
- Prevent userinfo endpoint from being cached [#99]
1.3.0
- Return
display_name
as thename
property [#87] - Change text domain to
openid-connect-server
, instead ofwp-openid-connect-server
[#88]
1.2.1
- No user facing changes
1.2.0
- Add
oidc_user_claims
filter [#82]