Аутентификация веб-приложения в .NET Core API с сервером ADFS для доступа к Google API - PullRequest
0 голосов
/ 31 октября 2019

Я создаю реагирующее веб-приложение, которое будет аутентифицировать пользователей домена с использованием локального сервера 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?

Я просто не уверен, что лучшие практики для этого типа проекта, я младший разработчик, и я никогда не делал такого рода вещи раньше.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...