2012-05-03 1 views
9

Сводка вопроса:
Я хотел бы создать систему регистрации и входа на основе CakePHP, предлагающую несколько разных шлюзов, таких как OpenID, Facebook, Twitter и т. Д. Я хотел бы, чтобы система позволяла пользователю связывать множественные формы идентификации со своей учетной записью.Чисто интегрируйте логин с Facebook, Google, Twitter и т. Д. В CakePHP?

После долгих поисков я открываю пробел на все, что позволило бы использовать более одного метода авторизации. Система авторизации торта усложняет этот вопрос, поэтому использование учебника для общего PHP не очень эффективно. У кого-нибудь есть решение, или откуда-то я могу начать?

Пример:
Чтобы дать простой пример, глядя на сети StackExchange: вы можете войти/зарегистрироваться с помощью обмена стопка счета, Google, Yahoo, Facebook, или OpenID. После входа в систему вы можете добавить еще несколько этих методов в свою учетную запись, чтобы вы узнали множество способов. Я понимаю, что StackExchange, вероятно, не написан в Cake, но он служит в качестве примера.

Спасибо!



Оригинал Вопрос

Вот совок: Я хотел бы интегрировать простую систему регистрации/входа для каждого из основных услуг, которые предлагают OAuth/в CakePHP OpenID.

В принципе, я хотел бы, чтобы мои пользователи могли регистрировать старый способ (включая подтверждение электронной почты) или использовать существующий сервис для проверки себя. Я хочу, чтобы они могли впоследствии войти в систему, используя эту службу, или с именем пользователя и паролем.

Теперь я нашел чрезвычайно глубокие плагины для полной интеграции с facebook и т. П., Но суть в том, что я хочу просто использовать это для регистрации и входа в систему на этом этапе, и я хотел бы, чтобы опыт был независимо от того, какую услугу они выбирают (плюс, я хотел бы понять, как это работает ... потому что все это касается обучения CakePHP в конце концов).

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

Как я могу это сделать?

Спасибо,

Джеймс

+0

Я добавил пример ... по иронии судьбы я изо всех сил пытался думать об одном в последний день, регулярно проверяя сайт. Самое дальнее, что я получил до сих пор, - это некоторые старые учебники для facebook, которые, похоже, не соответствуют новому графику или пирогу, поэтому новый материал станет отличным началом. – xtraorange

ответ

2

Похоже, теперь есть сторонняя библиотека доступна при использовании Opauth в качестве подробного на this bakery thread

Вот это версия CakePHP в GitHub страницы:

https://github.com/uzyn/cakephp-opauth

+1

Я хотел бы подчеркнуть, что на момент написания opauth плохо написано, реализует небезопасные дефолты и не внушает доверия из серии перспектив. – markus

+0

Я не автор Opauth, но можете ли вы подробнее рассказать о своем комментарии, указав конкретные примеры? – AngeloS

+0

Посмотрите на это и посмотрите на проблемы, это очевидно. Одним из примеров является ssl verify peer = false. – markus

2

Большой вопрос - наша студия развития CakePHP может смотреть на это в ближайшие месяцы тоже. Я подозреваю, что у вас будет больше удачи, исследуя это как общий вопрос PHP, и , затем, как вы можете перенести это решение в Cake. Определенно отправляйте назад все, что вы обнаружите.

Вы можете найти эту нить полезной отправной точкой, хотя это была опубликована еще в 2010 году: