diff --git a/Endpoint/Controllers/V1/AuthController.cs b/Endpoint/Controllers/V1/AuthController.cs index 3c26de0..8e52435 100644 --- a/Endpoint/Controllers/V1/AuthController.cs +++ b/Endpoint/Controllers/V1/AuthController.cs @@ -75,7 +75,7 @@ public class AuthController(IOptionsSnapshot user, IOptionsSnapshot(); + userEntity.OAuthProviders ??= []; if (!userEntity.OAuthProviders.TryAdd(provider, oAuthUser)) { @@ -105,7 +105,7 @@ public class AuthController(IOptionsSnapshot user, IOptionsSnapshot user, IOptionsSnapshot> AvailableProviders() => Ok(oAuthService - .GetAvailableProviders(HttpContext, HttpContext.GetApiUrl(Url.Action("AuthorizeOAuth2")!)) + .GetAvailableProviders(HttpContext.GetApiUrl(Url.Action("AuthorizeOAuth2")!)) .ConvertToDto()); /// diff --git a/Security/Services/AuthService.cs b/Security/Services/AuthService.cs index 7eb71a7..33c5d27 100644 --- a/Security/Services/AuthService.cs +++ b/Security/Services/AuthService.cs @@ -107,7 +107,7 @@ public class AuthService(ICacheService cache, IAccessToken accessTokenService, I authToken.Fingerprint); } - public async Task LoginOAuthAsync(CookieOptionsParameters cookieOptions, HttpContext context, User user, OAuthProvider provider, CancellationToken cancellation = default) + public async Task LoginOAuthAsync(CookieOptionsParameters cookieOptions, HttpContext context, User user, CancellationToken cancellation = default) { var requestContext = new RequestContextInfo(context, cookieOptions); diff --git a/Security/Services/OAuthService.cs b/Security/Services/OAuthService.cs index b2ef0ee..0f99548 100644 --- a/Security/Services/OAuthService.cs +++ b/Security/Services/OAuthService.cs @@ -108,9 +108,9 @@ public class OAuthService(ILogger logger, Dictionary logger, Dictionary (x.Key, new Uri(redirectUri.TrimEnd('/') + "/?provider=" + (int)x.Key))) - .ToArray(); + return [.. providers.Select(x => (x.Key, new Uri(redirectUri.TrimEnd('/') + "/?provider=" + (int)x.Key)))]; } public async Task<(OAuthProvider provider, OAuthUser User)> LoginOAuth(HttpContext context, CookieOptionsParameters cookieOptions, string redirectUrl, string code, string state, CancellationToken cancellation = default)