Значок Oauth 2 для учетных записей Active Directory

Я использовал Owin в прошлом, чтобы создать конечную точку маркера в моих проектах Mvc Web Api, чтобы предоставить токены oauth 2.0 с типом "Учетные данные владельца ресурса", где поставщик токенов доступа проверит таблицу пользователей базы данных, чтобы проверить достоверность учетных данных, предоставляемых мобильным клиентом (многоплатформенное приложение, разработанное с помощью инструмента Visual Studio для Кордовы).

В этом проекте Web Api будет потребляться мультиплатформенным мобильным приложением, используемым учетными записями домена Windows Active Directory

Я хотел бы использовать Owin Oauth 2.0, чтобы предоставить токен доступа этим пользователям, но я не знаю, как проверить достоверность этих учетных данных.

То, о чем я думал, заключается в том, чтобы положить конечную точку /token за "basic authentication", а в коде поставщика токена доступа получить пользователя из идентификатора, который в случае использования аутентификации должен быть автоматически создан Asp. чистый трубопровод.

Это что-то, что может сработать?

Знаете ли вы, что лучше использовать Oauth 2.0 для учетных записей Windows AD?

Примечание:

Я также изучаю, может ли Active Directory предоставить конечную точку Oauth 2.0 самостоятельно.

Ответ 1

Вот довольно хорошее руководство по использованию служб федерации Active Directory для получения токена OAuth2. https://technet.microsoft.com/en-us/library/dn633593.aspx. Вам нужно будет следить за всеми ссылками внизу, чтобы получить все пошаговые инструкции.

Обратите внимание, что это относится к использованию Windows Authentication Library для Windows. Но согласно этой документации эта библиотека используется как для Azure Active Directory, так и для Active Directory.

Что касается рабочего процесса, после проверки подлинности вы сможете получить и представить токен-носитель для своего WebAPI. Затем ваш WebAPI "проверяет подпись маркера, чтобы убедиться, что он был выпущен AD FS, проверяет, действительно ли токен действителен и не истекает, и может также проверять другие требования в токене. На этом этапе клиент либо и запрашиваемая информация отправляется в ответ или они неавторизированы, и никакие данные не будут отправлены". - https://technet.microsoft.com/en-us/library/dn633593.aspx

Ответ 2

Вы можете использовать ADFS 3.0 поверх AD, который предоставит вам возможности сервера авторизации OAuth 2.0: http://blog.scottlogic.com/2015/03/09/OAUTH2-Authentication-with-ADFS-3.0.html

Помещение конечной точки маркера за "базовую проверку подлинности" не поможет вам, потому что вы должны аутентифицировать клиента на конечной точке маркера, а не на пользователе. Однако вы можете поставить конечную точку авторизации за "базовую аутентификацию".