ich über ein Projekt genommen haben, die SecureSocial 2.1.4 verwendet und läuft Scala 2.2.4Scala 2.2.4 mit Secure soziale und Facebook-Login
ich Aktualisierung sah, und beschlossen, dass, wenn die App ist in so baufällig und wurde nicht so lange aktualisiert, ich würde nur einen Umbau in einer anderen Sprache machen (ich habe fast keine Scala gemacht).
Heute scheint es, als ob ein Update für die Facebook-API Logins unterbrochen hat.
Ich versuche herauszufinden, den schnellsten Weg, Logins zurück zu bekommen, aber kann nicht herausfinden, was ist die beste Version zu aktualisieren, und wie man das gut mit der einfachsten Version von scala arbeiten.
Im Build.scala, zeigt es
"ws.securesocial" %% "securesocial" % "2.1.4",
"com.typesafe" %% "play-plugins-mailer" % "2.2" exclude("org.scala-stm", "scala-stm_2.10.0"),
Wenn ich bis 2.10 zu aktualisieren versuchen, ich
[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 bekommen, hat es
1500:com.typesafe.plugin.CommonsMailerPlugin
9994:securesocial.core.DefaultAuthenticatorStore
9995:securesocial.core.DefaultIdGenerator
Ich habe es geschafft, einen Build mit
"ws.securesocial" %% "securesocial" % "M3.0-M1"
zu erstellen
Wenn ich die app securesocial 2.1.4 laufen und versuchen, die einzige Fehler, den ich bekommen anmelden, sehen ist Benutzer konnte nicht eingeloggt sein. Eine Ausnahme
[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]
Die ultimative Lösung, wenn geworfen würde Ich könnte mein Modell aktualisieren, um mit den neuen Facebook-Änderungen an der API zu arbeiten
-------------- UPDATE ---------------
Wenn Sie mehr Nachforschungen anstellen, scheint das Problem darin zu liegen, dass Facebook gültige JSON-Tokens zurückgibt und nicht wie zuvor codiert n vor
https://developers.facebook.com/docs/apps/changelog#v2_3
Nun, nur um herauszufinden, wie das zu aktualisieren, in scala oder secure_social
Wie ich aus dem Quellcode sehen, Ihre Version von securesocila JSON-Token analysieren: https://github.com/jaliss/securesocial/blob/2.1.4-for-play24/module-code/app/securesocial/core /OAuth2Provider.scala#L72-L83 Wie auch immer, können Sie die neueste securesocial-Version versuchen? –
Dank @AndriyKuba, können Sie klären, welche 'neueste Version? Ich habe gerade versucht "ws.securesocial" %% securesocial "%" 2.1.4-for-play24 "", aber das ist nicht gefunden. Ich bin schon auf 2.1.4 - Ich habe auch M3.0 ausprobiert, konnte es aber nicht bauen. Ich bin bei Play 2.2.4, was meiner Meinung nach ganz anders ist als bei späteren Builds. – pedalpete
Außerdem habe ich gerade den Code, auf den Sie hingewiesen haben, auf einen Patch überprüft, an dem ich gearbeitet habe, und der Oauth2provider buildInfo ist in beiden Zweigen derselbe. – pedalpete