Вопрос. Есть ли простой способ реализовать систему входа, которую использует stackoverflow с помощью php?
В течение долгого времени я разработал веб-сайты и использовал типичное имя / пароль для веб-формы с mysql db для систем входа.
Я хотел бы иметь его, чтобы пользователи могли входить в систему с помощью google, yahoo, facebook и т. Д., И без необходимости запоминать длинный URL-адрес openid (они должны просто нажать google и войти в систему, используя их имя пользователя / пароль там ).
Я бы предпочел не использовать поставщика услуг (например, RPX) для его реализации.
Если вы хотите реализовать его самостоятельно, вот отличное пошаговое руководство. Также есть библиотека OpenID PHP , но это, вероятно, намного больше, чем вам нужно.
Вот клиентский OpenID-селектор, который SO использует на экране входа в систему.
Edit: Stack Overflow больше не использует ту, с которой я связан, но она по-прежнему работает, насколько мне известно.
Проверьте, какие страницы нажимают на эти кнопки, и вы просто перенаправляете своих пользователей на эти страницы. Все они являются «открытыми» провайдерами, поэтому вам просто нужна открытая библиотека идентификаторов на вашем конце, чтобы проверить ответ.
Я использую это в PHP http://openidenabled.com/php-openid/ . У них есть несколько хороших примеров в этом пакете, чтобы вы начали.
Если вы хотите использовать существующий код, Zend Framework поддерживает OpenID. Хотя сама библиотека достаточно велика, вы должны иметь возможность отдельных компонентов относительно автономно.
Вот ресурс, который помог мне: http://devzone.zend.com/article/3581 .. и