refactor: clean code

This commit is contained in:
2024-12-22 07:25:41 +03:00
parent b82fbc491f
commit 3e05863aea
3 changed files with 8 additions and 9 deletions

View File

@ -75,7 +75,7 @@ public class AuthController(IOptionsSnapshot<Admin> user, IOptionsSnapshot<Gener
if (userId != null) if (userId != null)
{ {
userEntity.OAuthProviders ??= new Dictionary<OAuthProvider, OAuthUser>(); userEntity.OAuthProviders ??= [];
if (!userEntity.OAuthProviders.TryAdd(provider, oAuthUser)) if (!userEntity.OAuthProviders.TryAdd(provider, oAuthUser))
{ {
@ -105,7 +105,7 @@ public class AuthController(IOptionsSnapshot<Admin> user, IOptionsSnapshot<Gener
TwoFactorAuthenticator = userEntity.TwoFactorAuthenticator, TwoFactorAuthenticator = userEntity.TwoFactorAuthenticator,
SecondFactorToken = userEntity.Secret, SecondFactorToken = userEntity.Secret,
OAuthProviders = userEntity.OAuthProviders OAuthProviders = userEntity.OAuthProviders
}, provider); });
title = "Успешный вход в аккаунт."; title = "Успешный вход в аккаунт.";
message = "Вы успешно вошли в свою учетную запись. Добро пожаловать!"; message = "Вы успешно вошли в свою учетную запись. Добро пожаловать!";
@ -152,7 +152,7 @@ public class AuthController(IOptionsSnapshot<Admin> user, IOptionsSnapshot<Gener
[MaintenanceModeIgnore] [MaintenanceModeIgnore]
public ActionResult<List<AvailableOAuthProvidersResponse>> AvailableProviders() => public ActionResult<List<AvailableOAuthProvidersResponse>> AvailableProviders() =>
Ok(oAuthService Ok(oAuthService
.GetAvailableProviders(HttpContext, HttpContext.GetApiUrl(Url.Action("AuthorizeOAuth2")!)) .GetAvailableProviders(HttpContext.GetApiUrl(Url.Action("AuthorizeOAuth2")!))
.ConvertToDto()); .ConvertToDto());
/// <summary> /// <summary>

View File

@ -107,7 +107,7 @@ public class AuthService(ICacheService cache, IAccessToken accessTokenService, I
authToken.Fingerprint); authToken.Fingerprint);
} }
public async Task<TwoFactorAuthenticator> LoginOAuthAsync(CookieOptionsParameters cookieOptions, HttpContext context, User user, OAuthProvider provider, CancellationToken cancellation = default) public async Task<TwoFactorAuthenticator> LoginOAuthAsync(CookieOptionsParameters cookieOptions, HttpContext context, User user, CancellationToken cancellation = default)
{ {
var requestContext = new RequestContextInfo(context, cookieOptions); var requestContext = new RequestContextInfo(context, cookieOptions);

View File

@ -108,9 +108,9 @@ public class OAuthService(ILogger<OAuthService> logger, Dictionary<OAuthProvider
public Uri GetProviderRedirect(HttpContext context, CookieOptionsParameters cookieOptions, string redirectUri, OAuthProvider provider) public Uri GetProviderRedirect(HttpContext context, CookieOptionsParameters cookieOptions, string redirectUri, OAuthProvider provider)
{ {
var providerData = providers[provider]; var (clientId, _) = providers[provider];
var redirectUrl = $"?client_id={providerData.ClientId}" + var redirectUrl = $"?client_id={clientId}" +
"&response_type=code" + "&response_type=code" +
$"&redirect_uri={redirectUri}" + $"&redirect_uri={redirectUri}" +
$"&scope={ProviderData[provider].Scope}" + $"&scope={ProviderData[provider].Scope}" +
@ -121,10 +121,9 @@ public class OAuthService(ILogger<OAuthService> logger, Dictionary<OAuthProvider
return new Uri(ProviderData[provider].RedirectUrl + redirectUrl); return new Uri(ProviderData[provider].RedirectUrl + redirectUrl);
} }
public (OAuthProvider Provider, Uri Redirect)[] GetAvailableProviders(HttpContext context, string redirectUri) public (OAuthProvider Provider, Uri Redirect)[] GetAvailableProviders(string redirectUri)
{ {
return providers.Select(x => (x.Key, new Uri(redirectUri.TrimEnd('/') + "/?provider=" + (int)x.Key))) return [.. providers.Select(x => (x.Key, new Uri(redirectUri.TrimEnd('/') + "/?provider=" + (int)x.Key)))];
.ToArray();
} }
public async Task<(OAuthProvider provider, OAuthUser User)> LoginOAuth(HttpContext context, CookieOptionsParameters cookieOptions, string redirectUrl, string code, string state, CancellationToken cancellation = default) public async Task<(OAuthProvider provider, OAuthUser User)> LoginOAuth(HttpContext context, CookieOptionsParameters cookieOptions, string redirectUrl, string code, string state, CancellationToken cancellation = default)