Nomen 1.5:OIDC、站內搜尋,文件補到 94 篇

Nomen logo

Nomen 1.5 系列在兩天內發了三版。1.5.0 讓 Nomen 能當身分提供者,加入站內搜尋和幾條指令列工具;1.5.1 把文件從 23 篇擴到 94 篇;1.5.2 修了升級時漏掉一個可選設定檔就報錯的問題。

接入其他系統

新增 OpenID Connect。Nomen 現在提供發現文件 /.well-known/openid-configuration 和公鑰 /oidc/jwks.json,授權碼登入和更新都會回傳帶 nonce 的 id_token。伺服器沒有 openssl 擴充功能時會自動退回一般 OAuth 2.0,原有接入不受影響。要讓發現文件可以存取,nginx 要把 /.well-known/ 交給應用程式。

站內搜尋

新增 /search 頁面和 list=search API。預設直接查頁面表;裝了 Meilisearch、OpenSearch 或 Elasticsearch 會自動使用,連不上時退回資料庫。外掛隨包發佈但預設關閉,啟用後用 php bin/nomen plugins search:reindex 重建索引。

指令列

user:passwd 改密碼並撤銷該帳號的 Token,user:promote / user:demote 調整管理員,doctor 逐項自我檢查,backup / restore 備份和還原。管理員被鎖在門外、郵件寄不出去時,可以直接在伺服器上處理。

登入頁少一張圖

人機驗證從圖片換成一道加減法,答一次就作廢,不再依賴 GD 擴充功能。登入頁和臨時金鑰頁都換了。

後台跟著站點語言走

選單、列表、詳情、CSV 表頭、恢復工單、概覽卡都跟隨站點語言,24 種翻譯一次補齊(加英文共 25 種)。頁面也補上 og 標籤,連結傳到聊天工具或社群平台時有正常的標題和縮圖。

文件

從 23 篇擴到 94 篇。安裝、設定、品牌、帳號、兩步驗證、帳號恢復、家庭、郵件、安全、API、指令列、後台、多語言、第三方登入、OIDC 都重寫過一遍;另外加了整合、內部機制、維運三組深入頁面。外掛教學 10 篇、外觀(皮膚)教學 5 篇,參考手冊 29 頁由程式碼產生。

1.5.2

可選設定檔缺少時改用內建預設值,不再讓註冊和帳號恢復整個 500。Pages 外掛 1.3.1 的 sitemap 依已發佈頁面現場產生,1.3.2 修了開啟 gzip 的伺服器上 304 失效的問題。

1.5.0 帶一條 oauth_nonce 遷移,升級跑 php bin/nomen upgrade。專案在 nomenid.org,原始碼在 GitHub。