Модуль OpenID PAM

Я ищу модуль PAM, который может использовать OpenID для аутентификации. Моя идея состоит в том, что я хочу войти в систему с помощью моей учетной записи и пароля для своей учетной записи. Я обнаружил, что в Google Code есть проект с открытым исходным кодом, который, кажется, делает то, что я хочу, но я не вижу никакого кода для загрузки.

Я видел, что существует так много примеров или реализаций, но все они касаются веб-приложений. Есть ли в мире какие-либо приложения OpenID, основанные на веб-сайтах? Технически ли возможно сделать приложение OpenID, не основанное на веб-интерфейсе? Я наивно думаю, что это должно быть возможно. Я могу эмулировать любые пакеты, отправленные браузером поставщику OpenID, и вернуть результат. Пока мой Linux-ящик подключен к Интернету, я должен использовать мой OpenID для входа.

Оцените любые комментарии, предложения или указатели о том, как сделать модуль OpenID PAM.

Спасибо!

Ответ 1

Я могу неправильно понять запрос, но Google (например) предоставляет возможность разрешить стороне клиента и установленному приложению проверять подлинность через Google API с использованием стандартов OpenAUTH 2.0.

Как вы можете видеть в Использование OAuth 2.0 для установленных приложений или даже больше в Использование OAuth 2.0 для устройств.

Да, вам все еще нужно использовать взаимодействие с браузером и т.д., но python, а также ASP.NET могут обрабатывать веб-запрос и часть Linux, Gnome тоже с помощью инструментов WebKitGTK +.

Это может быть поводом для ваших исследований.

О, и, кстати, о WebServices и OpenID и т.д., модуль pam может записываться в Python (для части WebServer) и легко интегрироваться в Gnome 3.2 (также Python для модификации API Gnome-Keyring) и ASP.NET для стороны окна.

Но еще раз, я не специалист по этому вопросу, просто очень заинтересованный.; -)

Ответ 2

Это не проблема поставщика, доверяющего полагающейся стороне.

Проблема заключается в том, что пользователь должен доверять ему.

Однако есть еще три проблемы:

  • Что бы вы ни делали, вы не можете гарантировать, что ваш пользовательский модуль не украдет его пароль.
  • Поскольку между поставщиками нет единого механизма аутентификации, вам все равно нужно отобразить интерактивное окно браузера. Однако я не думаю, что модули pam могут быть интерактивными.
  • Модуль должен быть http-сервером, чтобы иметь возможность получать ответы.

Ответ 3

Я нашел этот. JumpCloud

Похоже, что это может сделать трюк, если вы используете LDAP.

Хорошо, идея JumpCloud заключается в том, что они предоставляют соединение OAUTH для LDAP-to-Google, поэтому, если вы настроите свою систему на аутентификацию через LDAP, но установите ее, чтобы проверить JumpCloud LDAP, а не вашу локальную систему, тогда вы должны иметь возможность входа в систему с помощью учетной записи домена Google.