Nomen 1.5: OIDC, on-site search, and 94 pages of docs

Nomen logo

The 1.5 series shipped three releases in two days. 1.5.0 lets Nomen act as an identity provider, adds on-site search and a few command-line tools. 1.5.1 takes the docs from 23 to 94 pages. 1.5.2 fixes a missing optional config file breaking sign-up and account recovery.

Connecting other systems

OpenID Connect is in. Nomen now serves a discovery document at /.well-known/openid-configuration and keys at /oidc/jwks.json; authorization-code logins and refreshes return an id_token with a nonce. Without the openssl extension it falls back to plain OAuth 2.0, and existing integrations are unaffected. nginx needs to route /.well-known/ to the app for the discovery document to resolve.

Search

There is a /search page and a list=search API. By default it queries the pages table; if Meilisearch, OpenSearch or Elasticsearch is configured it uses that, and falls back to the database when the service is unreachable. The plugin ships with Nomen but is off by default; enable it and rebuild the index with php bin/nomen plugins search:reindex.

Command line

user:passwd changes a password and revokes that account’s tokens, user:promote / user:demote grant or remove admin, doctor runs checks, and backup / restore handle backups. If an admin is locked out or mail is not going out, you can deal with it on the server.

One less image on the login page

The human check is now an addition or subtraction problem, good for one answer, with no GD dependency. Login and the temporary-key page both use it.

Admin follows the site language

Menus, lists, detail pages, CSV headers, recovery tickets and overview cards all follow the site language, with 24 translations added at once (25 including English). Pages also have og tags now, so links shared in chat apps get a proper title and thumbnail.

Docs

The docs went from 23 to 94 pages. Installation, configuration, branding, accounts, two-step verification, account recovery, families, mail, security, API, CLI, admin, languages, third-party login and OIDC were all rewritten. Three new groups cover integrations, internals and operations. There are 10 plugin tutorials, 5 skin tutorials, and 29 reference pages generated from the code.

1.5.2

Missing optional config files now fall back to built-in defaults instead of taking registration and account recovery down with a 500. Pages 1.3.1 generates its sitemap from published pages, and 1.3.2 fixes 304 responses on servers with gzip enabled.

1.5.0 includes an oauth_nonce migration; run php bin/nomen upgrade after updating. The project is at nomenid.org; the source is on GitHub.