seven1m/onebody

Facebook auth scope 'read_stream' deprecated

TechWilk opened this issue · 2 comments

screen shot 2017-07-07 at 08 04 12

https://developers.facebook.com/docs/facebook-login/permissions#reference-read_stream

If I remove the read_stream scope from app/controllers/sessions_controller.rb#53 it throws the following exception on callback:

I, [2017-07-07T06:45:10.254574 #1293]  INFO -- : Started GET "/auth/facebook/callback?code=CODE_OMITTED" for xxx.xxx.xxx.xxx at 2017-07-07 06:45:10 +0000
I, [2017-07-07T06:45:10.264842 #1293]  INFO -- : Processing by SessionsController#setup_omniauth as HTML
I, [2017-07-07T06:45:10.265032 #1293]  INFO -- :   Parameters: {"code"=>"CODE_OMITTED", "state"=>"STATE_OMITTED", "provider"=>"facebook"}
I, [2017-07-07T06:45:10.283157 #1293]  INFO -- :   Rendered text template (0.4ms)
I, [2017-07-07T06:45:10.283675 #1293]  INFO -- : Completed 404 Not Found in 18ms (Views: 2.0ms | ActiveRecord: 2.9ms)
I, [2017-07-07T06:45:10.738713 #1293]  INFO -- : Processing by SessionsController#create_from_external_provider as HTML
I, [2017-07-07T06:45:10.738854 #1293]  INFO -- :   Parameters: {"code"=>"CODE_OMITTED", "state"=>"STATE_OMITTED"}
I, [2017-07-07T06:45:10.820247 #1293]  INFO -- : Completed 500 Internal Server Error in 81ms (ActiveRecord: 10.5ms)
F, [2017-07-07T06:45:10.824287 #1293] FATAL -- : 
NoMethodError (undefined method `downcase' for nil:NilClass):
  app/controllers/sessions_controller.rb:119:in `find_person_by_email'
  app/controllers/sessions_controller.rb:97:in `login_auth_fail'
  app/controllers/sessions_controller.rb:164:in `redirect_after_authentication'
  app/controllers/sessions_controller.rb:25:in `create_from_external_provider'

@TechWilk I just pushed 1b73d1b which might fix this. I don't have a FB app setup, so I can't test at the moment, but I can get it set up a bit later and try it out. Or maybe you can give it a whirl. Thanks!

I'm going to close this as I think it's fixed.