Files
Wino-Mail/Wino.Mail.WinUI/Services/MailAuthenticatorConfiguration.cs
T

80 lines
2.2 KiB
C#
Raw Normal View History

using System.Collections.Generic;
2025-11-15 14:52:01 +01:00
using Wino.Core.Domain.Interfaces;
2025-09-29 11:16:14 +02:00
namespace Wino.Services;
public class MailAuthenticatorConfiguration : IAuthenticatorConfig
{
public string OutlookAuthenticatorClientId => "b19c2035-d740-49ff-b297-de6ec561b208";
public string GmailAuthenticatorClientId => "973025879644-s7b4ur9p3rlgop6a22u7iuptdc0brnrn.apps.googleusercontent.com";
public string GmailTokenStoreIdentifier => "WinoMailGmailTokenStore";
public string[] GetOutlookScope(bool isMailAccessGranted, bool isCalendarAccessGranted)
{
var scopes = new List<string>
{
"email",
"offline_access",
"User.Read"
};
if (isMailAccessGranted)
{
scopes.AddRange(
[
"mail.readwrite",
"mail.send",
"Mail.Send.Shared",
"Mail.ReadWrite.Shared"
]);
}
if (isCalendarAccessGranted)
{
scopes.AddRange(
[
"Calendars.ReadBasic",
"Calendars.ReadWrite",
"Calendars.ReadWrite.Shared",
"Calendars.Read",
"Calendars.Read.Shared"
]);
}
return [.. scopes];
}
public string[] GetGmailScope(bool isMailAccessGranted, bool isCalendarAccessGranted)
{
var scopes = new List<string>
{
"https://www.googleapis.com/auth/userinfo.profile",
"https://www.googleapis.com/auth/userinfo.email"
};
if (isMailAccessGranted)
{
scopes.AddRange(
[
"https://mail.google.com/",
"https://www.googleapis.com/auth/gmail.labels"
]);
}
if (isCalendarAccessGranted)
{
scopes.AddRange(
[
"https://www.googleapis.com/auth/calendar",
"https://www.googleapis.com/auth/calendar.events",
"https://www.googleapis.com/auth/calendar.settings.readonly",
"https://www.googleapis.com/auth/drive.file"
]);
}
return [.. scopes];
}
2025-09-29 11:16:14 +02:00
}