Files
Core.Thalos.BFF/Core.Thalos.BFF.Api/Services/IGoogleAuthHelper.cs
2025-07-02 22:35:57 -06:00

38 lines
1.0 KiB
C#

using Google.Apis.Auth.OAuth2;
using Google.Apis.Oauth2.v2;
namespace Core.Thalos.BFF.Api.Services
{
public interface IGoogleAuthHelper
{
string[] GetScopes();
string ScopeToString();
ClientSecrets GetClientSecrets();
}
public class GoogleAuthHelperService(IConfiguration config) : IGoogleAuthHelper
{
public ClientSecrets GetClientSecrets()
{
string clientId = config["Authentication:Google:ClientId"]!;
string clientSecret = config["Authentication:Google:ClientSecret"]!;
return new() { ClientId = clientId, ClientSecret = clientSecret };
}
public string[] GetScopes()
{
var scopes = new[]
{
Oauth2Service.Scope.Openid,
Oauth2Service.Scope.UserinfoEmail,
Oauth2Service.Scope.UserinfoProfile
};
return scopes;
}
public string ScopeToString() => string.Join(", ", GetScopes());
}
}