Page MenuHomePhabricator

Refactor IModule and IAuthKey to Abstract Classes
Open, Needs TriagePublic

Description

In preparation for adding a new passkey module and key, shared code from individual modules and keys will be moved into abstract classes

Refactor

  • Interface IModule -> abstract class Module
  • Interface IAuthKey -> abstract class AuthKey

Move shared code from individual modules into abstract classes

  • Shared DB fields (ID, creation timestamp)
  • Possibly isEnabled() and newKey()? If we make subclasses of Module explicitly point to their corresponding AuthKey subclass
  • Change Module::verify() to just iterate over keys and delegate to AuthKey::verify()
  • Change OATHManage::isModuleEnabled() to a method on modules that check if they are enabled

Event Timeline

Change #1204703 had a related patch set uploaded (by Mstyles; author: Mstyles):

[mediawiki/extensions/OATHAuth@master] Refactor IAuthKey to AuthKey

https://gerrit.wikimedia.org/r/1204703

Change #1204704 had a related patch set uploaded (by Mstyles; author: Mstyles):

[mediawiki/extensions/WebAuthn@master] Refactor WebAuthnKey

https://gerrit.wikimedia.org/r/1204704

Change #1204743 had a related patch set uploaded (by Mstyles; author: Mstyles):

[mediawiki/extensions/OATHAuth@master] Refactor AuthKey

https://gerrit.wikimedia.org/r/1204743

Change #1206558 had a related patch set uploaded (by Mstyles; author: Mstyles):

[mediawiki/extensions/OATHAuth@master] Remove newFromArray

https://gerrit.wikimedia.org/r/1206558

Change #1204743 abandoned by Catrope:

[mediawiki/extensions/OATHAuth@master] Refactor AuthKey

Reason:

Squashed into https://gerrit.wikimedia.org/r/c/mediawiki/extensions/OATHAuth/+/1204703

https://gerrit.wikimedia.org/r/1204743

Change #1204703 merged by jenkins-bot:

[mediawiki/extensions/OATHAuth@master] Refactor IAuthKey to AuthKey

https://gerrit.wikimedia.org/r/1204703

Change #1204704 merged by jenkins-bot:

[mediawiki/extensions/WebAuthn@master] Refactor WebAuthnKey

https://gerrit.wikimedia.org/r/1204704

Change #1208156 had a related patch set uploaded (by Mstyles; author: Mstyles):

[mediawiki/extensions/WebAuthn@master] Remove newFromArray

https://gerrit.wikimedia.org/r/1208156

Change #1208156 abandoned by Mstyles:

[mediawiki/extensions/WebAuthn@master] Remove newFromArray

Reason:

no longer working on this

https://gerrit.wikimedia.org/r/1208156

Change #1206558 abandoned by Mstyles:

[mediawiki/extensions/OATHAuth@master] Remove newFromArray

Reason:

no longer working on this

https://gerrit.wikimedia.org/r/1206558