Как я могу использовать OpenIDConnect для аутентификации и авторизации для Google API в приложении MVC.
Также я хотел бы использовать клиентскую библиотеку Google do tnet для создания Сервисный объект Gmail для отправки электронной почты и получения ярлыков.
Я пытался реализовать openidconnect с этим SO сообщением , но безуспешно.
Фактически; Я не могу выяснить на стороне контроллера, как мы можем создать объект GmailService так же, как мы можем создать, как показано ниже, используя клиентскую библиотеку Google do tnet.
[Route("IndexAsync")]
public async Task<ActionResult> IndexAsync(CancellationToken cancellationToken)
{
var result = await new AuthorizationCodeMvcApp(this, new AppFlowMetadata()).
AuthorizeAsync(cancellationToken);
if (result.Credential != null)
{
var service = new DriveService(new BaseClientService.Initializer
{
HttpClientInitializer = result.Credential,
ApplicationName = "ASP.NET MVC Sample"
});
// YOUR CODE SHOULD BE HERE..
// SAMPLE CODE:
var list = await service.Files.List().ExecuteAsync();
ViewBag.Message = "FILE COUNT IS: " + list.Items.Count();
return View("Index");
}
else
{
return new RedirectResult(result.RedirectUri);
}
}
Кроме того, я хотел бы сделать код более обобщенный, так что другой провайдер идентификации, такой как exchange et c. может использовать тот же подход аутентификации и авторизации openid-connect. Однако; было сказано, что; ClientService
Объект будет отличаться в зависимости от конфигурации для получения обменной почты или отправки почты через обмен.