OpenID Connect с использованием клиентской библиотеки Google Authorization в MVC - PullRequest
0 голосов
/ 10 февраля 2020

Как я могу использовать 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 Объект будет отличаться в зависимости от конфигурации для получения обменной почты или отправки почты через обмен.

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