В настоящее время я аутентифицирую пользователя с помощью omniauth. Это выглядит так в моем контроллере сеансов и работает хорошо:
def create
auth = request.env['omniauth.auth']
unless @auth = Authentication.find_from_hash(auth)
# Create a new user or add an auth to existing user, depending on
# whether there is already a user signed in.
@auth = Authentication.create_from_hash(auth, current_user)
end
# Log the authorizing user in.
self.current_user = @auth.user
redirect_to authentications_url, :notice => "You've signed in!"
end
После этого я сохранил uid твиттера в своей таблице аутентификаций (я также использую linkedin, facebook) и думаю, что сеансы твиттера были закрыты.
Как мне теперь пройти аутентификацию, чтобы использовать гем Twitter? Я думаю, что это должно быть что-то вроде этого, если бы я вызывал его сразу после обратного вызова omniauth.
token = auth['credentials']['token'],
secret = auth['credentials']['secret']
Twitter.oauth_token = token
Twitter.oauth_token_secret = secret
Мне явно нужно перезапустить сеанс и поставить токен и секрет в нужное место. Как я могу создать метод для этого?