I've taken over a project which uses SecureSocial 2.1.4 and is running Scala 2.2.4
I looked at updating, and decided that as the app is in such disrepair and hasn't been updated in so long, I'd just do a rebuild in a different language (I've done almost no Scala).
Today, it looks like an update to the Facebook API has broken logins.
I'm trying to figure out the quickest path to getting logins back, but can't figure out what is the best version to update to, and how to get that to work nicely with the simplest version of scala.
In the Build.scala, it shows
"ws.securesocial" %% "securesocial" % "2.1.4",
"com.typesafe" %% "play-plugins-mailer" % "2.2" exclude("org.scala-stm", "scala-stm_2.10.0"),
When I try to update to 2.10, I get
[warn] :: ws.securesocial#securesocial_2.10;2.10: not found
[warn] :: com.typesafe#play-plugins-mailer_2.10;2.2: not found
In play.plugins, it has
1500:com.typesafe.plugin.CommonsMailerPlugin
9994:securesocial.core.DefaultAuthenticatorStore
9995:securesocial.core.DefaultIdGenerator
I did manage to get a build using
"ws.securesocial" %% "securesocial" % "M3.0-M1"
When I run the app using securesocial 2.1.4 and try to login, the only error I see to get is Unable to log user in. An exception was thrown
[error] application - Unable to log user in. An exception was thrown
securesocial.core.AuthenticationException: null
at securesocial.core.OAuth2Provider.doAuth(OAuth2Provider.scala:117) ~[securesocial_2.10-2.1.4.jar:2.1.4]
at securesocial.core.IdentityProvider.authenticate(IdentityProvider.scala:75) ~[securesocial_2.10-2.1.4.jar:2.1.4]
at securesocial.controllers.ProviderController$$anonfun$handleAuth$1.apply(ProviderController.scala:92) [securesocial_2.10-2.1.4.jar:2.1.4]
at securesocial.controllers.ProviderController$$anonfun$handleAuth$1.apply(ProviderController.scala:88) [securesocial_2.10-2.1.4.jar:2.1.4]
at play.api.mvc.ActionBuilder$$anonfun$apply$10.apply(Action.scala:221) [play_2.10-2.2.4.jar:2.2.4]
at play.api.mvc.ActionBuilder$$anonfun$apply$10.apply(Action.scala:220) [play_2.10-2.2.4.jar:2.2.4]
The ultimate solution would be if I could update my model to work with the new facebook changes to the API
-------------- UPDATE ---------------
Doing more research, it appears the issue may be that Facebook is returning valid JSON tokens rather than url encoded as they had been before
https://developers.facebook.com/docs/apps/changelog#v2_3
Now, just trying to figure out how to update that in scala or secure_social
Since you are using 2.1.4 I suggest you create a new Facebook provider that does not override the buildInfo method in OAuth2Provider and register that instead of the built in one.
That should get you going quite fast.