nextcloud / nextcloud/user_oidc

Drop ID4me support

Open
#1,446 0 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

dependencies discussion technical debt
Dominant language
PHP
Stars
181
Forks
60
Avg merge
7h 34m
Merged PRs (30d)
26

Description

tl;dr: no actively maintained drop-in replacement exists.

Upstream is fully archived

packagist.org/packages/id4me/id4me-rp explicitly states "abandoned and no longer maintained. No replacement package was suggested."

The source repo at gitlab.com/ID4me/id4me-rp-client-php is archived/read-only.

Alternatives I found, with caveats

plesk/id4me-relying-party — same idea, but the last release (0.2.0) is from March 2019, 7 installs total, not auto-updated. Effectively dead too, and older than what you're already using.

No other PHP forks turned up. Sibling implementations exist only in Node.js and Python, no use here.

The bigger picture

The ID4me protocol itself has very little momentum: the foundation's PHP, JS, and Python clients have all gone quiet, and the package only has 1 dependent on Packagist (likely this app). In composer.json it's already pulled in as a vendored dependency via wikimedia/composer-merge-plugin, and it's used only by lib/Controller/Id4meController.php behind an admin toggle that defaults to disabled.

Given near-zero ecosystem usage and that it's an opt-in alt-login, deprecating it is defensible.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with composer.json and lib/Controller/Id4meController.php to trace how the vendored ID4me package is declared and how the admin toggle gates its use. Review the surrounding authentication flow and project checks before removing the integration; done means ID4me is no longer shipped or exposed while the remaining OIDC login flow still works.

Written by the indexing model from the issue text.

Assessment

Tech stack
php
Domain
authentication
Issue type
Refactor
Difficulty
3/5
Estimated time
1-2 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
64/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.