¿Cómo puedo buscar el token de acceso de un usuario que utiliza la gema Twitter y la gema OmniAuth cuando los usuarios ya se registra en?

StackOverflow https://stackoverflow.com/questions/4465356

Pregunta

Actualmente me autenticar al usuario mediante OmniAuth. Esto se ve como esta en mi controlador de sesiones y funciona bien:

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

Después de esto, yo he guardado el fluido de twitter en mi mesa de autenticaciones (también uso linkedin, facebook) y pensar que las sesiones de Twitter ha sido cerrada.

¿Cómo ahora autentico para que pueda utilizar la gema Twitter? Creo que debería ser algo como esto si yo estaba llamando justo después de la devolución de llamada OmniAuth.

  token = auth['credentials']['token'],
  secret = auth['credentials']['secret']
  Twitter.oauth_token = token
  Twitter.oauth_token_secret = secret

Me claramente necesario reiniciar la sesión y poner el testigo y secreto en el lugar correcto. ¿Cómo puedo crear un método para hacer esto?

¿Fue útil?

Solución

necesidad de almacenar tanto el token y el secreto proporcionado por Twitter en su tabla de autenticaciones (Authentication.create_from_hash). Mientras usted está haciendo eso, esto debería funcionar:

twitter_credentials = current_user.authorizations.find_by_provider(:twitter)

Twitter.oauth_token = twitter_credentials.token
Twitter.oauth_token_secret = twitter_credentials.token_secret

Eso suponiendo que en la tabla de autenticaciones que almacenan el Twitter token y secreta como token y token_secret, así como el almacenamiento del proveedor como twitter

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top