feat(web): migrate account and user management to React
Add React account and user administration flows, including TOTP and SSO handling. Route /next SSO callbacks to React while preserving the existing Vue and native app behavior, and cover the routing policy with API tests.
This commit is contained in:
1 parent
f802598dab
commit
1ab9b76101
17 files changed
+1058
-60
No files matched your search
@@ -119,6 +119,23 @@ public sealed class SsoControllerTests
|
||||
Assert.Equal(expected, SsoController.NormalizeReturnUrl(value));
|
||||
}
|
||||
|
||||
[Theory]
|
||||
[InlineData("/dashboard", "sso/callback", false, "/sso/callback")]
|
||||
[InlineData("/next/dashboard", "sso/callback", false, "/next/sso/callback")]
|
||||
[InlineData("/next/account", "account", false, "/next/account")]
|
||||
[InlineData("/next/dashboard", "sso/callback", true, "/sso/callback")]
|
||||
[InlineData("https://evil.example/path", "login", false, "/login")]
|
||||
public void FrontendPagePath_SelectsReactOnlyForNextWebRoutes(
|
||||
string? returnUrl,
|
||||
string page,
|
||||
bool nativeApp,
|
||||
string expected)
|
||||
{
|
||||
Assert.Equal(
|
||||
expected,
|
||||
SsoController.FrontendPagePath(returnUrl, page, nativeApp));
|
||||
}
|
||||
|
||||
private sealed class BindingFixture : IAsyncDisposable
|
||||
{
|
||||
private readonly SqliteConnection _connection;
|
||||
|
||||
Reference in new issue
Block a user