Лучший способ реализовать систему единого входа со всеми основными поставщиками?Php

Кемеровские программисты php общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Лучший способ реализовать систему единого входа со всеми основными поставщиками?

Сообщение Anonymous »

Я уже провел много исследований по этой теме и сам реализовал множество решений.

Включая OpenID, Facebook Connect (с использованием старого Rest API и новый API Graph OAuth 2.0), войдите в систему с помощью Twitter (который, насколько мне известно, к настоящему времени обновлен до полностью квалифицированного OpenID) и так далее...

Но чего мне до сих пор не хватает, так это идеального решения «все в одном».

Во время исследования я наткнулся на несколько интересных проектов:
  • Janrain (ранее RPX) — коммерческое решение.
  • Gigya — бесплатное, но внешнее решение с Javascript и rest API.
  • AnyOpenID — бесплатное решение для клиентов, коммерческое для веб-сайтов
Но я не хочу полагаться на внешний провайдер, и мне тоже хотелось бы бесплатное решение, поэтому я не ограничен в реализации.

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

Конечно, это сработает, но это куча работы, и всегда требуется доработка, изменения в вашем приложении и т. д. p>

Мне нужен уровень абстракции, который объединяет все существующие сервисы в один стандарт, который можно интегрировать в мой веб-сайт. Как только появляется новый сервис, я хочу добавить только одну модель, которая касается абстракции этого конкретного провайдера, чтобы я мог легко интегрировать ее в свое приложение.

Или лучше, найдите уже существующее решение, которое я могу просто загрузить.

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

Последнее из трех вышеперечисленных решений выглядит многообещающе с точки зрения концепции.
Все просто перенесено на синтетический OpenID, а веб-сайт просто должен реализовать OpenID.< /p>

Через некоторое время я нашел Django Socialauth, систему аутентификации на основе Python для веб-фреймворка Django. Но похоже, что он работает так, как описано выше, и я думаю, что это та же система входа, которую использует Stackoverflow (или, по крайней мере, какая-то модифицированная вилка...).

Я скачал его и попытался настроить и посмотреть, можно ли его настроить как отдельное решение, но мне не повезло, так как я тоже не очень разбираюсь в Python.

Мне бы хотелось решение на основе PHP.

Поэтому после этого длинного текста мой вопрос именно такой:
  • Как бы вы реализовали единый вход? Есть ли лучшая идея, чем портировать все и использовать OpenID в качестве основы?
  • Каковы в этом плюсы и минусы?
  • Знаете ли вы какие-либо уже существующие решения? Желательно с открытым исходным кодом.
Надеюсь, этот вопрос не слишком субъективен, заранее спасибо.

Обновление:
Я пришел к выводу, что создание прокси-сервера/обертки или того, как вы могли бы его назвать, для Facebook, чтобы перенести его на OpenID, чтобы он стал конечной точкой/провайдером OpenID, было бы лучшим вариантом.
/>Именно это я и сделал.

Пожалуйста, смотрите мой ответ ниже.

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

Подробнее здесь: https://stackoverflow.com/questions/406 ... -providers
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Php»