fix(web): правильный парсинг query string для ?register=1
PR Checks / test-and-build (pull_request) Successful in 12m50s
PR Checks / test-and-build (pull_request) Successful in 12m50s
Заменен Navigation.Uri.Contains() на QueryHelpers.ParseQuery для корректного определения параметра register без ложных срабатываний на подстроки (например, register=10). Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
@@ -138,7 +138,11 @@ else if (session is not null)
|
||||
var authState = await AuthStateProvider.GetAuthenticationStateAsync();
|
||||
isAuthenticated = authState.User.Identity?.IsAuthenticated ?? false;
|
||||
|
||||
if (session is not null && Navigation.Uri.Contains("register=1") && session.AllowDirectRegistration)
|
||||
var uri = Navigation.ToAbsoluteUri(Navigation.Uri);
|
||||
var query = Microsoft.AspNetCore.WebUtilities.QueryHelpers.ParseQuery(uri.Query);
|
||||
var shouldRegister = query.TryGetValue("register", out var val) && val == "1";
|
||||
|
||||
if (session is not null && shouldRegister && session.AllowDirectRegistration)
|
||||
{
|
||||
if (isAuthenticated && authState.User.TryGetPlatformIdentity(out var platform, out var externalUserId))
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user