У меня есть веб-приложение.Это приложение позволяет пользователям зарегистрироваться / войти с помощью Google Auth согласно этому коду в Startup.cs
services.AddAuthentication().AddGoogle(googleOptions =>
{
googleOptions.ClientId = Configuration["ClientId"];
googleOptions.ClientSecret = Configuration["CliSecret"];
...
});
. Все это прекрасно работает с готовой системой идентификации, поэтому я могу регистрировать пользователей.
Однако я также хочу, чтобы пользователи могли «подключаться» к другим службам Google с отдельными учетными записями после регистрации в отдельной области сайта.
Например, я могу захотетьпользователь для подключения своей учетной записи AdWords.Они будут аутентифицироваться в Google через поток, не связанный с идентификацией, и соответствующая информация (токен, токен обновления и т. Д.) Будет храниться независимо в БД (т. Е. Он не будет хранить «пользователя» в таблице AspNetUSers
).
Могу ли я изменить область проверки подлинности в контроллере, прежде чем я сделаю свой первый звонок в Google?
Было бы неплохо использовать ту же службу проверки подлинности, но с некоторой дополнительной областью действияв этом случае.Это возможно?
В качестве альтернативы, есть другой раздел Google в Startup.cs ... может быть, как:
services.AddAuthentication().AddGoogle(googleOptions =>
{
googleOptions.ClientId = Configuration["ClientId"];
googleOptions.ClientSecret = Configuration["CliSecret"];
googleOptions.Scope.Add("https://www.googleapis.com/auth/adwords"); //*** THIS IS THE EXTRA SCOPE NEEDED ***
...
});