He instalado omniauth 1.0. También tengo oauth-0.4.5, oauth2-0.5.1, omniauth-facebook-1.0.0, omniauth-twitter-0.0.6.omniauth OAuthException y OAuth :: no autorizado
omniauth.rb
Rails.application.config.middleware.use OmniAuth::Builder do
provider :developer unless Rails.env.production?
provider :facebook, ENV['167257285348131'], ENV['c8c722f697scb2afcf1600286c6212a9'], :scope => 'email,offline_access,read_stream', :display => 'popup'
provider :twitter, ENV['fma2L22ObJCW52QrL7uew'], ENV['4aZfhCAOdiS7ap8pHJ7I1OZslFwVWWLiAMVpYUI']
end
session_controller.rb
class SessionsController < ApplicationController
require 'omniauth-facebook'
require 'omniauth-twitter'
require 'omniauth'
def create
@user = User.find_or_create_from_auth_hash(auth_hash)
self.current_user = @user
redirect_to '/'
end
def auth_hash
request.env['omniauth.auth']
end
end
También agrego 'OmniAuth' gemas 'OmniAuth-facebook' 'OmniAuth-twitter' a Gemfile
Hay dos problemas:
- Cuando voy http://localhost:3000/auth/facebook consigo { "error": { "mensaje": "Falta el parámetro client_id.", "tipo": "OAuthException" } }
Y el enlace graph.facebook.com/oauth/authorize?response_type=code & client_id = & redirect_uri = http% 3A% 2F% 2Flocalhost% 3A3000% 2Fauth% 2Ffacebook% 2Fcallback & parse = consulta & scope = email% 2Coffline_access% 2Cread_stream & display = popup Y no hay client_id !!!
- Cuando voy a http://localhost:3000/auth/twitter consigo OAuth :: autorizada
401 no autorizadas
¿Alguna idea?
has solucionado el error de facebook? Si es así, ¿puedo solucionar el problema? Recibo el mismo mensaje de error. Se puede resolver si agregué manualmente el client_id para consultar los parámetros de cadena – Vina
@Vina ENV [] lo rompe. Intenta usar "" solamente. Por ej .: proveedor: facebook, '167257285348131', 'c8c722f697scb2afcf1600286c6212a9' –
¡Gracias, funciona! Parece que también necesito reiniciar el webrick. : D – Vina