на предпосылке интегрированная проверка подлинности Windows получить токен доступа - PullRequest
0 голосов
/ 28 декабря 2018

У нас есть настройка Azure Passthrough, т. Е. Проверка подлинности Azure выполняется в локальном AD.

Здесь у нас есть локальное приложение MVC, размещенное в IIS, которое должно использовать службы приложений, размещенные в Azure.Для этого мы зарегистрировали приложение в Azure Ad как нативное и сопоставили разрешения для служб.

В размещенном локальном приложении используется встроенная проверка подлинности Windows.мы можем получить токен доступа, используя приведенный ниже код из режима отладки в Visual Studio, т.е. работающего в IIS Express.

var clientId = "XXXX-XXXX-XXXX-XXXX-XXXX";

string authority = "https://login.microsoftonline.com/XXXX-XXXX-XXXX-XXXX-XXXX/oauth2/authorize";

string resource = "https://ourdomain.sharepoint.com";  ///put id or url of resource you're accessing

AuthenticationContext authenticationContext = new AuthenticationContext(authority, false);

UserCredential uc = new UserCredential(); // By passing empty means windows Authentication

AuthenticationResult token = null;

return authenticationContext.AcquireTokenAsync(resource, clientId, uc).Result;

Но после развертывания в IIS и запуска пула приложений с учетной записью службы.мы получаем токен доступа для учетной записи службы, вместо этого нам нужно получить токен доступа на основе аутентификации пользователя.

...