Направляющие имеют остальных autho плагин, который работает хорошо, но является там решением для слияния Твиттера, Facebook, Google, Yahoo, и т.д...
Кажется, что у каждого на есть его собственный плагин и требования, и смешивание их будет путаницей.
Это для входящих в систему пользователей как то, как Stackoverflow добивается цели не для того, чтобы использовать устойчивые функции API.
То, что я хочу сделать, делают то, что stackoverflow сделал для входа в систему, но в направляющих.
Нетрудно написать собственный код контроллера для подключения к каждой из этих служб и перенаправления. Например, для аутентификации в Twitter с использованием oauth требуется два действия и всего около 20 строк кода.
Храните код для каждой службы отдельно в ее собственном контроллере.
def twitter_oauth
o = Twitter::OAuth.new(your_twitter_consumer_token, your_twitter_consumer_secret, :authorize_path => '/oauth/authenticate', :sign_in => true)
o.set_callback_url(twitter_cb_url)
session[:twitter_oauth_request_token] = o.request_token.token
session[:twitter_oauth_request_secret] = o.request_token.secret
redirect_to o.request_token.authorize_url
end
def twitter_oauth_cb
o = Twitter::OAuth.new(your_twitter_consumer_token, your_twitter_consumer_secret, :authorize_path => '/oauth/authenticate', :sign_in => true)
if params[:denied]
redirect_to root_url
elsif params[:oauth_verifier]
o.authorize_from_request(session[:twitter_oauth_request_token],
session[:twitter_oauth_request_secret],
params[:oauth_verifier])
# look up this user in the db by o.access_token.token
# is the user not found? create them, save their token
# log them in - UserSession.create(user, true)
redirect_to root_url
end
end
Если у вас есть бюджет, вы можете проверить RPX: https: // rpxnow .com / .
Я сделал реализация этого с использованием authlogic с использованием того же плагина JQuery OpenID Selector, который использует StackOverflow. Работает с Google, Yahoo, Facebook и т. Д. Пользуюсь им около 3 месяцев, работает неплохо. Еще несколько изгибов в тренировке, он также поддерживает автоматическую регистрацию.
Я хотел бы добавить твиттер в будущие версии и надеюсь, что другие помогут добавить некоторые функции / исправления ошибок. ;-) Зацени.
В действии:
http://big-glow-mama.heroku.com/
Код: