Итак, для тех, кто создал Asp. Net проект веб-приложения с Azure проверкой подлинности на работе или в школе, и беспокоится о том, как использовать аутентификацию вошедшего в систему пользователя для получения токена доступа. и позвоните в Microsoft Graph, не спрашивая пользователя для повторного ввода его учетных данных, четкий ответ после нескольких поисков:
НЕ ДУМАЙТЕ О СБРОСЕ SH TOKEN.
Да, обычно идея состоит в том, чтобы захватить токен refre sh и использовать его при следующем вызове, чтобы получить новый токен доступа для вызова API. Но Microsoft.IdentityModel.Clients.ActiveDirectory
, который используется в этой настройке, делает его более простым. Этот пакет упрощает весь процесс и предоставляет вам два метода для вызова:
AcquireTokenByAuthorizationCodeAsync
(StartupAuth.cs): который используется при запуске приложения, чтобы попросить пользователя войти в систему и получить первый токен доступа. , БЕЗ РЕФРЕКА SH TOKEN!
AcquireTokenSilentAsync
: дает вам новый токен доступа для того же вошедшего в систему пользователя. Вы, возможно, не замечаете, как я , что новая страница UserInfo.aspx была добавлена в проект во время создания, чтобы показать вам, как получить новый токен доступа для каждого вызова API, который вы делаете. Просто посмотрите на этот код страницы, чтобы понять всю концепцию.
Я надеюсь, что это прояснит путаницу, поскольку обычно пользователи будут думать о коде refre sh вместо этого!