jaliss / securesocial

A module that provides OAuth, OAuth2 and OpenID authentication for Play Framework applications
http://www.securesocial.ws
Apache License 2.0
1.19k stars 510 forks source link

Inconsistent error from Facebook Sign-in #607

Open pedalpete opened 7 years ago

pedalpete commented 7 years ago

For a few months we've had issues with a small number of users unable to login via facebook. We haven't been able to recreate this, and I'm going to guess 99% of users don't have this issue. It is definitely only a sub-set of users.

I've got the output from our logs as May 06 14:12:40 doarama app/web.1: play.api.libs.json.JsResultException: JsResultException(errors:List((,List(ValidationError(error.expected.jsstring,WrappedArray()))))) May 06 14:12:40 doarama app/web.1: at play.api.libs.json.JsValue$$anonfun$2.apply(JsValue.scala:64) May 06 14:12:40 doarama app/web.1: at play.api.libs.json.JsValue$$anonfun$2.apply(JsValue.scala:64) May 06 14:12:40 doarama app/web.1: at play.api.libs.json.JsResult$class.fold(JsResult.scala:71) May 06 14:12:40 doarama app/web.1: at play.api.libs.json.JsError.fold(JsResult.scala:10) May 06 14:12:40 doarama app/web.1: at play.api.libs.json.JsValue$class.as(JsValue.scala:62) May 06 14:12:40 doarama app/web.1: at play.api.libs.json.JsUndefined.as(JsValue.scala:94) May 06 14:12:40 doarama app/web.1: at securesocial.core.providers.FacebookProvider.fillProfile(FacebookProvider.scala:80) May 06 14:12:40 doarama app/web.1: at securesocial.core.IdentityProvider$$anonfun$authenticate$2.apply(IdentityProvider.scala:79) May 06 14:12:40 doarama app/web.1: at securesocial.core.IdentityProvider$$anonfun$authenticate$2.apply(IdentityProvider.scala:77) May 06 14:12:40 doarama app/web.1: at scala.util.Either.fold(Either.scala:98) May 06 14:12:40 doarama app/web.1: at securesocial.core.IdentityProvider.authenticate(IdentityProvider.scala:75) May 06 14:12:40 doarama app/web.1: at securesocial.controllers.ProviderController$$anonfun$handleAuth$1.apply(ProviderController.scala:92) May 06 14:12:40 doarama app/web.1: at securesocial.controllers.ProviderController$$anonfun$handleAuth$1.apply(ProviderController.scala:88) May 06 14:12:40 doarama app/web.1: at play.api.mvc.ActionBuilder$$anonfun$apply$10.apply(Action.scala:221) May 06 14:12:40 doarama app/web.1: at play.api.mvc.ActionBuilder$$anonfun$apply$10.apply(Action.scala:220) May 06 14:12:40 doarama app/web.1: at play.api.mvc.Action$.invokeBlock(Action.scala:357) May 06 14:12:40 doarama app/web.1: at play.api.mvc.ActionBuilder$$anon$1.apply(Action.scala:309) May 06 14:12:40 doarama app/web.1: at play.api.mvc.Action$$anonfun$apply$1$$anonfun$apply$4$$anonfun$apply$5.apply(Action.scala:109) May 06 14:12:40 doarama app/web.1: at play.api.mvc.Action$$anonfun$apply$1$$anonfun$apply$4$$anonfun$apply$5.apply(Action.scala:109) May 06 14:12:40 doarama app/web.1: at play.utils.Threads$.withContextClassLoader(Threads.scala:18) May 06 14:12:40 doarama app/web.1: at play.api.mvc.Action$$anonfun$apply$1$$anonfun$apply$4.apply(Action.scala:108) May 06 14:12:40 doarama app/web.1: at play.api.mvc.Action$$anonfun$apply$1$$anonfun$apply$4.apply(Action.scala:107) May 06 14:12:40 doarama app/web.1: at scala.Option.map(Option.scala:145) May 06 14:12:40 doarama app/web.1: at play.api.mvc.Action$$anonfun$apply$1.apply(Action.scala:107) May 06 14:12:40 doarama app/web.1: at play.api.mvc.Action$$anonfun$apply$1.apply(Action.scala:100) May 06 14:12:40 doarama app/web.1: at play.api.libs.iteratee.Iteratee$$anonfun$mapM$1.apply(Iteratee.scala:481) May 06 14:12:40 doarama app/web.1: at play.api.libs.iteratee.Iteratee$$anonfun$mapM$1.apply(Iteratee.scala:481) May 06 14:12:40 doarama app/web.1: at play.api.libs.iteratee.Iteratee$$anonfun$flatMapM$1.apply(Iteratee.scala:517) May 06 14:12:40 doarama app/web.1: at play.api.libs.iteratee.Iteratee$$anonfun$flatMapM$1.apply(Iteratee.scala:517) May 06 14:12:40 doarama app/web.1: at play.api.libs.iteratee.Iteratee$$anonfun$flatMap$1$$anonfun$apply$13.apply(Iteratee.scala:493) May 06 14:12:40 doarama app/web.1: at play.api.libs.iteratee.Iteratee$$anonfun$flatMap$1$$anonfun$apply$13.apply(Iteratee.scala:493) May 06 14:12:40 doarama app/web.1: at scala.concurrent.impl.Future$PromiseCompletingRunnable.liftedTree1$1(Future.scala:24) May 06 14:12:40 doarama app/web.1: at scala.concurrent.impl.Future$PromiseCompletingRunnable.run(Future.scala:24) May 06 14:12:40 doarama app/web.1: at akka.dispatch.TaskInvocation.run(AbstractDispatcher.scala:42) May 06 14:12:40 doarama app/web.1: at akka.dispatch.ForkJoinExecutorConfigurator$AkkaForkJoinTask.exec(AbstractDispatcher.scala:386) May 06 14:12:40 doarama app/web.1: at scala.concurrent.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260) May 06 14:12:40 doarama app/web.1: at scala.concurrent.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1339) May 06 14:12:40 doarama app/web.1: at scala.concurrent.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979) May 06 14:12:40 doarama app/web.1: at scala.concurrent.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107) May 06 14:12:40 doarama app/web.1: [error] application - [securesocial] error retrieving profile information from Facebook

Any idea on why only some accounts would be erroring with this issue?