2009-04-17 3 views
1

На основе this article кажется, что SO использует Javascript OpenID Selector (JOIS) для управления входами OpenID в своем «представлении».Использование Javascript OpenID-селектора с рельсами

Мне нравится простой интерфейс, и я хотел бы использовать его в проекте Rails.

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

Можете ли вы помочь мне найти ответы на несколько вопросов, которые у меня есть?

  1. Кто-нибудь из вас уже сделали это или кто-нибудь знает хорошего например?
  2. Какую настройку (сочетание плагинов/драгоценных камней) вы бы порекомендовали, если Я использую JOIS в своем ?
  3. Есть ли реализация JOIS (или что-то подобное, кроме RPX) на основе Prototype вместо JQuery?
  4. Нужна ли мне дополнительная библиотека, кроме Ruby OpenID library , для поддержки всех поставщиков услуг (OpenID, Google, Yahoo и т. Д.), Поддерживаемых от JOIS?

Спасибо!

ответ

2

В ответ на № 4, №. Все опции, предоставляемые OpenID Selector, являются стандартными поставщиками OpenID, а рубиновая библиотека OpenID (я предполагаю, что вы говорите о Janrain) поддерживает все из них.

Извините, я не могу помочь вам с остальными. Я фактически не использовал библиотеку Ruby уже более 3 лет.

+0

Большое спасибо за ответ. Но действительно ли Google и Yahoo являются стандартными поставщиками OpenID? Я имею в виду, что Google, например, не предоставляет уникальный URL-адрес идентификации, как это делают другие поставщики OpenID. Вы можете увидеть различные подходы, просмотрев источник OpenID-Selector: http://code.google.com/p/openid-selector/source/browse/trunk/js/openid-jquery.js – Javier

+0

Слово, которое я искал : URL-адрес идентификатора.:-) Google и Yahoo, похоже, не предоставляют одну и что-то вроде следующей строки, которая не будет работать с ними: @user = User.find_or_initialize_by_identity_url (identity_url). Должен ли я просто переключиться на электронную почту как уникальный идентификатор для пользователя? – Javier

+0

Google и Yahoo DO фактически предоставляют уникальный URL-адрес (он называется Идентифицированный идентификатор) для пользователей. Но Google и Yahoo уникальны тем, что их, как правило, очень загадочные URL-адреса, которые никто не должен вводить, поэтому они полагаются на ВСЕГДА, используя функцию OpenID, называемую «направленная идентификация». Любой провайдер может использовать направленную идентификацию, но некоторые из них не поддерживают его. Специальный код обработки в селекторе OpenID, вероятно, будет ссылаться на направленную идентификацию, когда это необходимо/необходимо. Еще стандартный материал. –

0
  1. Я сделал open-selector.com как alternateive к IdSelector. Вы можете проверить код и посмотреть его (его только один .js-файл)
  2. На самом деле нет необходимости возиться с аутентификацией на стороне сервера, если вы можете отправить форму, в которой вы хороши идти.
  3. Я использовал Jquery, но в основном для изменения атрибутов CSS и для выбора узла, вы можете легко сделать это с помощью любой другой структуры JS.
  4. Если вы говорите о решении JS, это не важно, какая технология стоит процесс входа в систему (см. № 2). Протокол OpenID стремится быть агностиком провайдера, поэтому ваша стандартная библиотека OpenID должна делать для любого провайдера, поддерживающего OpenID (Google, Yahooo, MySpace и т. Д.).