У меня есть веб-API, написанный на ASP. NET Core 3.1, размещенный на Azure, и я хотел бы, чтобы служба windows на предпосылке, написанная на C ++, имела доступ к этому API. Но в идеале я хотел бы, чтобы служба аутентифицировалась в Azure AD, чтобы я знал идентификацию запроса.
Насколько я могу судить, это либо невозможно, либо нет библиотеки C ++ для ADAL / MSAL) или, если используется REST API, невозможно go через взаимодействие пользователя с логином / согласием.
Другим вариантом является проверка подлинности сертификата, но я никогда не использовал эту идентификацию, и я не уверен, какая идентификация приходит в запросах или даже если проверка подлинности сертификата является опцией.
Дополнительная информация. Это одно приложение-арендатор, которое используется внутри моей работы, у нас есть Azure AD и Office 365. Я не знаю, что еще у нас есть в отношении федерации или чего-то еще.
Какие у меня есть варианты, учитывая этот список требования:
- Неинтерактивный клиент C ++ (или, если вы можете вызвать какой-то диалог из кода, тогда обязательно)
- Хотите пройти аутентификацию в веб-API с использованием Azure AD или каким-либо другим способом, который Я могу определить личность пользователя без отдельной базы данных (могу ли я каким-то образом использовать Windows учетные данные?)
- Я хочу, чтобы этот API был заблокирован только для моего арендатора (который я получил бы бесплатно с AD auth, но не с JWT). Я предполагаю, что аутентификация с помощью сертификата решит эту проблему, но не идентификацию?