Используйте токен oauth в ASP.NET Core для подключения к клиенту Google (gmail)C#

Место общения программистов C#
Anonymous
Используйте токен oauth в ASP.NET Core для подключения к клиенту Google (gmail)

Сообщение Anonymous »

Я создал службу, которая будет работать в фоновом режиме и получать события обратного вызова от Gmail от имени моих пользователей. Разрешить пользователям авторизовать мое приложение и необходимые области в ASP.NET Core тривиально. Создать клиент Google и использовать его для настройки тоже легко.
Но я не могу придумать, как совместить эти два действия.
Во многих примерах для ASP.NET Core используется что-то вроде этого:

Код: Выделить всё

[Authorize(AuthenticationSchemes = GoogleOpenIdConnectDefaults.AuthenticationScheme)]
public async Task Callback([FromServices] IGoogleAuthProvider auth)
Но когда я использую это в сочетании с builder.AddAuthentication().AddGoogleOpenIdConnect(), он жалуется, что учетные данные неверны.
< blockquote>
'UnderlyingCredential не является поставщиком токенов OIDC. Поставщиками токенов OIDC поддерживаются только ServiceAccountCredential, ComputeCredential, ImpersonatedCredential.'

Я также видел, что могу получить SecurityToken из OnTokenValidated обратный вызов, но как я могу использовать этот токен для подключения с помощью клиента Google?
Мне также нужен токен с более длительным сроком действия, поскольку мое приложение поможет в некоторых аспектах электронной почты моего пользователя в течение длительного периода времени.

Подробнее здесь: https://stackoverflow.com/questions/783 ... ient-gmail

Вернуться в «C#»