2010-12-30 5 views
11

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

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

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

Спасибо!

+2

Как поставщик OpenID сможет подтвердить запрос? –

+0

@ Ignacio Я полностью недопонимаю какую-то фундаментальную концепцию? У меня уже есть учетная запись [email protected] Gmail - это мой поставщик OpenID. Я могу настроить модуль OpenID PAM для использования gmail.com в качестве поставщика OpenID. Затем я могу войти в свой Linux-блок, набрав «[email protected]» в качестве имени пользователя, а затем введите свой пароль учетной записи gmail. Модуль PAM свяжется с gmail.com, и gmail.com может, конечно, подтвердить мой запрос, потому что он знает мою учетную запись [email protected] и знает мой пароль. Gmail.com подтверждает, что учетные данные действительны. –

+0

Невозможно сделать безопасную, не веб-аутентификацию openid по простой причине: OpenID зависит от того, что вы знаете, что вы подключены к провайдеру. Во всех остальных случаях полагающаяся сторона (например, модуль pam) может перехватить ваш логин и пароль, и вы этого не хотите. Поскольку не-веб-приложениям нельзя доверять, чтобы не перехватывать ваши трафик/нажатия клавиш, вы не можете реализовать openid за пределами Интернета. Что касается модуля pam, возникает другая проблема: для аутентификации с провайдером требуется взаимодействие с пользователем. Gmail не знает вас, если вы не дадите ему свой пароль. – Mewp

ответ

6

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

Как вы можете видеть в Using OAuth 2.0 for Installed Applications или даже больше в Using OAuth 2.0 for Devices.

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

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

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

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

+1

Просто немного отредактируйте, чтобы указать на эту неплохую новость: Google только что выпустил способ авторизации сервисов для связи с API без взаимодействия с пользователем - [здесь] (http: // googledevelopers .blogspot.fr/2012/03/service-accounts-have-arrival.html) –

1

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

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

Есть, однако, три другие вопросы:

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

Из вашего опыта, как часто поставщик OpenID (например, Google или Yahoo) меняет свой интерфейс аутентификации? В ближайшем будущем поставщик OpenID придумает некоторый стандартизованный механизм аутентификации? –

+0

На мой взгляд, речь идет не об интерфейсе аутентификации какого-либо одного провайдера, а о том, что вы не можете реализовать интерфейс для каждого существующего провайдера. Насколько я знаю, нет планов включить стандартный механизм проверки подлинности для поставщиков в стандарте OpenID. Однако я не тот человек, которого нужно спросить. Вероятно, вы получите лучший ответ, запросив список рассылки OpenID или в другом месте, непосредственно связанном с OpenID Foundation. – Mewp

+0

+1 Спасибо за всю вашу информацию :) –

-3

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

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

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

+0

Вопрос невелик, но я не вижу, как эта служба помогает в создании модуля PAM в Linux. – rene

+0

Хотя добавление ссылки на ваш ответ является хорошей идеей, вы всегда должны попробовать и добавить дополнительное описание к своему ответу, если ссылка больше не используется на более позднем этапе, и в этом случае ответ будет рядом с бессмысленным. –

+0

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

Смежные вопросы