Skip to content

Commit fe5c71e

Browse files
committed
refact!: Remove legacy auth challenges support
BREAKING CHANGE: Custom auth challenges extending `Kirby\Cms\Auth\Challenge` have to be adapted to use `Kirby\Auth\Challenge`
1 parent f1e92b5 commit fe5c71e

9 files changed

Lines changed: 15 additions & 388 deletions

File tree

psalm-baseline.xml

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -103,11 +103,6 @@
103103
<code><![CDATA[Translation]]></code>
104104
</InvalidReturnType>
105105
</file>
106-
<file src="src/Cms/Auth/EmailChallenge.php">
107-
<FalsableReturnStatement>
108-
<code><![CDATA[$code]]></code>
109-
</FalsableReturnStatement>
110-
</file>
111106
<file src="src/Cms/BlockConverter.php">
112107
<InvalidReturnStatement>
113108
<code><![CDATA[array_filter($blocks)]]></code>

src/Auth/Challenge/LegacyChallenge.php

Lines changed: 0 additions & 69 deletions
This file was deleted.

src/Auth/Challenges.php

Lines changed: 3 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,8 @@
22

33
namespace Kirby\Auth;
44

5-
use Kirby\Auth\Challenge\LegacyChallenge;
65
use Kirby\Auth\Exception\ChallengeTimeoutException;
76
use Kirby\Cms\App;
8-
use Kirby\Cms\Auth\Challenge as LegacyBaseChallenge;
97
use Kirby\Cms\User;
108
use Kirby\Exception\InvalidArgumentException;
119
use Kirby\Exception\LogicException;
@@ -55,12 +53,9 @@ public function class(string $type): string
5553
{
5654
if (
5755
($class = static::$challenges[$type] ?? null) &&
58-
(
59-
is_subclass_of($class, Challenge::class) === true ||
60-
is_subclass_of($class, LegacyBaseChallenge::class) === true
61-
)
56+
is_subclass_of($class, Challenge::class) === true
6257
) {
63-
/** @var class-string<\Kirby\Auth\Challenge>|class-string<\Kirby\Auth\Challenge\LegacyBaseChallenge> $class */
58+
/** @var class-string<\Kirby\Auth\Challenge> $class */
6459
return $class;
6560
}
6661

@@ -77,9 +72,6 @@ public function clear(): void
7772
$session->remove('kirby.challenge.mode');
7873
$session->remove('kirby.challenge.timeout');
7974
$session->remove('kirby.challenge.type');
80-
81-
// @deprecated
82-
$session->remove('kirby.challenge.code');
8375
}
8476

8577
/**
@@ -137,18 +129,9 @@ public function enabled(): array
137129
{
138130
$config = $this->kirby->option('auth.challenges', ['totp', 'email']);
139131

140-
// @todo we can simplify this once LegacyChallenge is removed
141132
return A::filter(
142133
A::wrap($config),
143-
function ($type) {
144-
$class = $this->class($type);
145-
146-
if (method_exists($class, 'isEnabled') === true) {
147-
return $class::isEnabled($this->auth);
148-
}
149-
150-
return true;
151-
}
134+
fn ($type) => $this->class($type)::isEnabled($this->auth)
152135
);
153136
}
154137

@@ -226,16 +209,6 @@ public function get(
226209
$challenge = $this->class($type);
227210
$timeout ??= $this->timeout();
228211

229-
if (is_subclass_of($challenge, LegacyBaseChallenge::class) === true) {
230-
return new LegacyChallenge(
231-
type: $type,
232-
class: $challenge,
233-
user: $user,
234-
mode: $mode,
235-
timeout: $timeout,
236-
);
237-
}
238-
239212
return new $challenge(
240213
user: $user,
241214
mode: $mode,

src/Cms/Auth/Challenge.php

Lines changed: 0 additions & 67 deletions
This file was deleted.

src/Cms/Auth/EmailChallenge.php

Lines changed: 0 additions & 88 deletions
This file was deleted.

src/Cms/Auth/TotpChallenge.php

Lines changed: 0 additions & 67 deletions
This file was deleted.

0 commit comments

Comments
 (0)