У кого-нибудь есть опыт работы с аутентификацией Microsoft Azure Active Directory в Rust? Я создал службу на работе, которая поддерживает аутентификацию LDAP, но теперь нам нужно развернуть указанное приложение на клиенте, который не использует LDAP. Они посоветовали нам обратить внимание на федеративные службы Active Directory и Azure Active Directory.
Я исследовал, и кажется, что Microsoft в основном предоставляет Библиотека аутентификации Active Directory (ADAL) для популярных языков/фреймворков, без базовой документации, которую я могу найти.
Кто-нибудь знает ресурс/онлайн-документацию, которой я мог бы следовать? Я ищу универсальный REST API, который я мог бы реализовать с помощью request
или hyper
.
Я думаю, что официальной библиотеки по крайней мере нет. Но AAD поддерживает OpenID Connect, он используется в большинстве новых приложений. Может быть библиотека для аутентификации OpenID Connect для Rust? Вы можете найти общую документацию по протоколу здесь: docs.microsoft.com/en-us/azure/active-directory/develop/…
На самом деле, вы можете обратиться к официальному документу Azure REST API Reference
, чтобы узнать, как зарегистрировать клиентское приложение в Azure AD и пройти аутентификацию для вызова REST API в Rust с помощью request
или hyper
. Я думаю, это твое настоящее желание.
В остальном Python — хороший встроенный язык сценариев для Rust. Если вы можете использовать ADAL для Python для получения токена доступа через аутентификацию, я думаю, что хорошим обходным путем является использование некоторых грузовых модулей, таких как PyO3/pyo3
или dgrunwald/rust-cpython
, для вызова скрипта Python для аутентификации с помощью AAD из кода Rust.
Обратите внимание, что «просить нас порекомендовать или найти книгу, инструмент, программную библиотеку, учебник или другой сторонний ресурс не относятся к теме Stack Overflow, поскольку они, как правило, привлекают самоуверенные ответы и спам. Вместо этого опишите проблему и то, что было сделано для этого. далеко, чтобы решить эту проблему». (SO/помощь/по теме). Вместо этого вы можете задать свой вопрос в пользовательский форум.