Guest User

Untitled

a guest
Jul 18th, 2018
144
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.09 KB | None | 0 0
  1. match "/auth/facebook/callback" => "sessions#create"
  2.  
  3. def create
  4. auth = request.env["omniauth.auth"]
  5. user = User.find_by_email(auth["user_info"]["email"]) || User.create_with_omniauth(auth)
  6. session[:user_id] = user.id
  7. redirect_to root_url
  8. end
  9.  
  10. class User < ActiveRecord::Base
  11.  
  12. has_one :facebook
  13.  
  14. validates :email, :presence => true, :uniqueness => true
  15. validates :facebook, :presence => true
  16.  
  17. def self.create_with_omniauth(auth)
  18. create! do |user|
  19. user.email = auth["user_info"]["email"]
  20. user.facebook = Facebook.create!(:uid => auth["uid"])
  21. end
  22.  
  23. end
  24.  
  25. class Facebook < ActiveRecord::Base
  26.  
  27. belongs_to :user
  28.  
  29. validates :uid, :presence => true, :uniqueness => true
  30. end
  31.  
  32. -- control frame ----------
  33. c:0060 p:---- s:0340 b:0340 l:000339 d:000339 CFUNC :connect
  34. c:0059 p:0011 s:0337 b:0337 l:000150 d:000336 BLOCK /Users/andy/.rvm/rubies/ruby-1.9.2 -p180/lib/ruby/1.9.1/net/http.rb:678
  35. c:0058 p:0031 s:0335 b:0335 l:000334 d:000334 METHOD /Users/andy/.rvm/rubies/ruby-1.9.2- p180/lib/ruby/1.9.1/timeout.rb:44
  36. c:0057 p:0026 s:0323 b:0323 l:000322 d:000322 METHOD /Users/andy/.rvm/rubies/ruby-1.9.2- p180/lib/ruby/1.9.1/timeout.rb:87
  37. c:0056 p:0444 s:0317 b:0317 l:000150 d:000150 METHOD /Users/andy/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/net/http.rb:678
  38. c:0055 p:0011 s:0309 b:0309 l:000308 d:000308 METHOD /Users/andy/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/net/http.rb:637
  39. c:0054 p:0048 s:0306 b:0306 l:000305 d:000305 METHOD /Users/andy/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/net/http.rb:626
  40. c:0053 p:0025 s:0303 b:0303 l:000302 d:000302 METHOD /Users/andy/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/net/http.rb:1168
  41. c:0052 p:0499 s:0296 b:0296 l:000295 d:000295 METHOD /Users/andy/.rvm/gems/ruby-1.9.2-p180@rails3tutorial/gems/faraday-0.5.7/lib/faraday/adapter/net_http.rb:45
  42. c:0051 p:0041 s:0283 b:0283 l:000282 d:000282 METHOD /Users/andy/.rvm/gems/ruby-1.9.2-p180@rails3tutorial/gems/faraday-0.5.7/lib/faraday/request.rb:85
  43. c:0050 p:0044 s:0276 b:0276 l:000275 d:000275 METHOD /Users/andy/.rvm/gems/ruby-1.9.2-p180@rails3tutorial/gems/faraday-0.5.7/lib/faraday/request.rb:27
  44. c:0049 p:0065 s:0270 b:0270 l:000269 d:000269 METHOD /Users/andy/.rvm/gems/ruby-1.9.2-p180@rails3tutorial/gems/faraday-0.5.7/lib/faraday/connection.rb:177
  45. c:0048 p:0069 s:0263 b:0263 l:000262 d:000262 METHOD /Users/andy/.rvm/gems/ruby-1.9.2-p180@rails3tutorial/gems/oauth2-0.1.1/lib/oauth2/client.rb:63
  46. c:0047 p:0039 s:0254 b:0254 l:000253 d:000253 METHOD /Users/andy/.rvm/gems/ruby-1.9.2-p180@rails3tutorial/gems/oauth2-0.1.1/lib/oauth2/strategy/web_server.rb:15
  47. c:0046 p:0070 s:0244 b:0244 l:000243 d:000243 METHOD /Users/andy/.rvm/gems/ruby-1.9.2-p180@rails3tutorial/gems/oa-oauth-0.2.0/lib/omniauth/strategies/oauth2.rb:87
  48. c:0045 p:0042 s:0240 b:0240 l:000239 d:000239 METHOD /Users/andy/.rvm/gems/ruby-1.9.2-p180@rails3tutorial/gems/oa-oauth-0.2.0/lib/omniauth/strategies/facebook.rb:31
  49. c:0044 p:0146 s:0237 b:0237 l:000236 d:000236 METHOD /Users/andy/.rvm/gems/ruby-1.9.2-p180@rails3tutorial/gems/oa-oauth-0.2.0/lib/omniauth/strategies/oauth2.rb:66
  50. c:0043 p:0411 s:0233 b:0233 l:000232 d:000232 METHOD /Users/andy/.rvm/gems/ruby-1.9.2-p180@rails3tutorial/gems/oa-core-0.2.0/lib/omniauth/strategy.rb:49
  51. c:0042 p:0019 s:0228 b:0228 l:000227 d:000227 METHOD /Users/andy/.rvm/gems/ruby-1.9.2-p180@rails3tutorial/gems/oa-core-0.2.0/lib/omniauth/strategy.rb:22
  52. c:0041 p:0044 s:0224 b:0224 l:000223 d:000223 METHOD /Users/andy/.rvm/gems/ruby-1.9.2- p180@rails3tutorial/gems/oa-core-0.2.0/lib/omniauth/builder.rb:30
  53. c:0040 p:0014 s:0220 b:0220 l:000211 d:000219 BLOCK /Users/andy/.rvm/gems/ruby-1.9.2-p180@rails3tutorial/gems/warden-1.0.4/lib/warden/manager.rb:35
  54. c:0039 p:---- s:0218 b:0218 l:000217 d:000217 FINISH
  55. c:0038 p:---- s:0216 b:0216 l:000215 d:000215 CFUNC :catch
  56. [.......snipped]
  57.  
  58.  
  59. Abort trap
  60.  
  61. Rails.application.config.middleware.use OmniAuth::Builder do
  62. provider :facebook, 'MY_APP_ID', 'MY_SECRET',
  63. { :scope => 'email, offline_access',
  64. :client_options => { :ssl => { :ca_file => '/usr/lib/ssl/certs/ca-certificates.crt' } } }
  65. end
  66.  
  67. ./configure --prefix=$HOME/.rbenv/versions/1.9.3-p0 --with-opt-dir=/opt/local
Add Comment
Please, Sign In to add comment