Вызов веб-API с проверкой подлинности Active Directory с использованием Ajax - PullRequest
0 голосов
/ 30 апреля 2018

Я развернул веб-API в службе приложений Azure и защитил его с помощью активной аутентификации каталогов. Мне нужно вызвать это Web API On-Change поля на моем портале, то есть CRM Portal. (Мой портал CRM также позволяет входить в систему только пользователям, прошедшим проверку подлинности в Active Directory.) Я подумал, что я сделаю Ajax-вызов On-Change поля, чтобы получить ответ. Однако я не могу получить сам токен. Я использую adal.min.js в качестве библиотеки для поддержки аутентификации в активном каталоге. Я легко могу получить ответ при вызове веб-API без аутентификации таким образом.

Что я должен сделать, чтобы получить ответ от аутентифицированного API AD от вызова JQuery AJAX?

1 Ответ

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

Я развернул веб-API в службе приложений Azure и защитил его активной аутентификацией каталогов.

AFAIK, вы можете использовать промежуточное программное обеспечение OWIN NuGet Microsoft.Owin.Security.ActiveDirectory для проверки подлинности AAD, подробности вы можете использовать здесь . Более того, вы также можете использовать встроенную аутентификацию и авторизацию , предоставляемую службой приложений Azure, для Настройка приложения службы приложений для использования входа Azure Active Directory .

Что я должен сделать, чтобы получить ответ от аутентифицированного API AD от вызова JQuery AJAX?

После успешного входа в систему с помощью ADAL.js вы можете использовать следующий код для получения токена и использовать его для доступа к конечной точке веб-API.

authContext.acquireToken(authContext.config.clientId, function (error, token) {
    // Handle ADAL Error
    if (error || !token) {
        printErrorMessage('ADAL Error Occurred: ' + error);
        return;
    }

    // Get TodoList Data
    $.ajax({
        type: "GET",
        url: "/api/TodoList",
        headers: {
            'Authorization': 'Bearer ' + token,
        },
    }).done(function (data) {
        //TODO:
    });
});

Подробный пример кода, вы можете выполнить Javascript Azure AD. Начало работы .

Вы можете просто создать одно приложение AAD и использовать его в своем интерфейсе и бэкэнде Web API. Кроме того, вы можете создать каждое приложение AAD для своего интерфейса и серверной части веб-API. Для этого подхода вам необходимо настроить свойство enpoints для сопоставления ресурсов для создания экземпляра ADAL AuthenticationContext, подробности которого вы можете использовать Библиотека аутентификации Active Directory (ADAL) для JavaScript .

Более того, для встроенной аутентификации / авторизации службы приложений можно также использовать Как использовать клиентскую библиотеку JavaScript для мобильных приложений Azure для аутентификации пользователей и получения mobileServiceAuthenticationToken, а затем применить его к заголовку X-ZUMO-AUTH при доступе к конечным точкам веб-API.

...