Я создаю реагирующее веб-приложение, которое будет аутентифицировать пользователей домена с использованием локального сервера ADFS через основной веб-API ASP.NET. API ядра .net будет действовать как шлюз и будет собирать данные из API Google (и, возможно, других) о нашей компании и отзывы, которые будут отправлены обратно в приложение реагирования.
Я уже получил имя входа ADFS, работающее в приложении реагирования, и я отправляю токен доступа в API для аутентификации пользователя.
Теперь я пытаюсь аутентифицировать единую учетную запись Google с доступом ко всем местоположениям компании по API Google MyBusiness. Я попытался сделать это с помощью учетной записи службы, которая олицетворяла бизнес-учетную запись Google, однако, похоже, что API не поддерживает учетные записи службы, поэтому теперь я пытаюсь использовать OAuth. Однако я не хочу перенаправлять своих пользователей, так как только один аккаунт будет запрашивать API Google, и мой API должен иметь возможность аутентифицироваться против этого пользователя. Я получил долгосрочный файл refresh_token, который я могу использовать для получения токенов доступа, но теперь я застрял в удивлении, где это реализовать.
Вот моя текущая схема аутентификации в Startup.cs
services.AddAuthentication(sharedOptions =>
{
sharedOptions.DefaultScheme = JwtBearerDefaults.AuthenticationScheme;
})
.AddJwtBearer(options =>
{
var authSettings = Configuration.GetSection("ADFS").Get<ADFS.AdfsOptions>();
options.Audience = authSettings.ClientId;
options.Authority = authSettings.Authority;
});
Должен ли я подключить какую-то аутентификацию в конце этого? Возможно, Open-ID?
Я просто не уверен, что лучшие практики для этого типа проекта, я младший разработчик, и я никогда не делал такого рода вещи раньше.