Получение токена доступа на предъявителя для доступа к ресурсу o365 с использованием аутентификации Azure AD - PullRequest
0 голосов
/ 18 мая 2018

Я использую стандартный файл, файл-> новый проект базового веб-приложения Asp.Net (Razor Pages) и настраиваю его для использования аутентификации Azure AD на экземпляре o365, который работает просто отлично.

Теперь я хочу использовать приложение для доступа к ресурсу o365 (например, к моему календарю) с помощью Graph API.В ядре asp.net 2.0 я использовал метод, описанный здесь , чтобы получить токен доступа, кэшировать его и получить для любых запросов графа.Он использует событие OpenIdConnect (OnAuthorizationCodeReceived) для получения кода доступа.

Я не вижу подобных событий в новом методе AddAzureAd, доступном с использованием ядра 2.1 asp.net.Есть ли сейчас новый метод получения токена для использования в вызовах Graph?

1 Ответ

0 голосов
/ 19 мая 2018

Это всегда был сложный вопрос, и в зависимости от вашего сценария (требуемые разрешения, рабочие нагрузки, о которых вы говорите) этот ответ, возможно, придется скорректировать.Во-первых, здесь у вас есть код code и id_token.Самый простой способ добиться того, чего вы хотите достичь (возможно, не самый лучший с точки зрения пользовательского опыта), - временно сохранить маркер идентификатора.(скажем, в кеше токенов)

services.AddAuthentication()
    .AddOpenIdConnect(opts =>
    {
        opts.Events = new OpenIdConnectEvents
    {
        OnAuthorizationCodeReceived = ctx =>
        {
            return Task.CompletedTask;
        }
    };
    });

Вы можете увидеть пример здесь , вам также нужно убедиться, что ваше приложение настроено с надлежащими разрешениями иты должен быть готов к работе!

...