Подключение ядра 2.1 asp.net в MSAL.NET - PullRequest
0 голосов
/ 25 сентября 2018

Я пытаюсь подключить MSAL.NET к основному веб-приложению asp.net, чтобы я мог использовать Microsoft Graph API.Я просто хочу, чтобы мои пользователи проходили аутентификацию в MS (учетная запись работы / школы), чтобы я мог получить доступ к их календарю.

Насколько я знаю, для этого мне нужно:

  1. Передача моего пользователя в Microsoft для проверки подлинности (стандартный танец oauth)
  2. Получите код доступа после успешной аутентификации, а затем подключите его к MSAL.NET, эффективно делегируя управление токенами в MSAL.NET

Но я застрял в аутентификации с MS-частью.В ASP.NET Core 2.1 рекомендуемый способ сортировки внешнего входа в MS удобен и прост - AddMicrosoftAccount - вот так:

services.AddAuthentication().AddMicrosoftAccount(microsoftOptions =>
{
    microsoftOptions.ClientId = Configuration["Authentication:Microsoft:ApplicationId"];
    microsoftOptions.ClientSecret = Configuration["Authentication:Microsoft:Password"];
});

Проблема здесь в том, что у вас нет ловушек длякогда код авторизации возвращается из MS.Есть ловушки для успешного тикета (то есть, когда токены были предоставлены), но это не годится для MSAL.NET, потому что для управления токенами требуется использовать коды с AcquireTokenByAuthorizationCodeAsync.

Я могу видеть, что это позволило бы мне подключиться к этому - использовать AddOpenIdConnect вместо этого, потому что это предлагает событие для OnAuthorizationCodeReceived, которое я мог бы использовать, чтобы получить код авторизации и подключиться к MSAL.NET.

Это возможно использовать, или есть лучший способ заставить все это работать?

Спасибо

...