Я заинтересован в создании подключаемого модуля аутентификации Linux (PAM), который выполняет аутентификацию в Azure Active Directory. Похоже, что Microsoft использует для этого Oauth 2.0.
При рассмотрении сценариев аутентификации кажется, что «Демон или серверное приложение», вероятно, имеет наибольший смысл, но я не уверен. «Родное приложение для веб-API» также может быть возможным, но все приведенные потоки приложений показывают запуск экземпляра всплывающего окна браузера для аутентификации, что кажется невозможным в PAM. В результате, если я не удаляю ответы, этот поток не работает, а удаление ответов кажется плохой идеей.
Мои вопросы:
- Каков наилучший способ проверки учетных данных пользователя для этого сценария? Демон или родное приложение?
- Каков грубый поток, на который я бы посмотрел, чтобы сделать это? (например, если я использую демона, какие вызовы я делаю для проверки учетных данных пользователя?)
- Есть идеи, как это выглядит, если для пользователя включена двухфакторная аутентификация?
Спасибо за помощь. Я чувствую, что ни один из доступных вариантов здесь не подходит, и хочу убедиться, что я двигаюсь в правильном направлении, пока не потрачу здесь кучу времени.