0

と2.2.4そのような壊滅的なもので、それほど長く更新されていない、私はちょうど別の言語で再構築する(私はScalaをほとんどしていない)。Scalaは私が更新を見て、そしてアプリとしてであることを決めた私はSecureSocial 2.1.4を使用するプロジェクトを引き継いできたとScalaの2.2.4に</p> <p>を実行しているセキュアな社会やFacebookログイン

今日、Facebook APIのアップデートがログインを壊しているようです。

私は、ログインを元に戻すための最も速い経路を見つけようとしていますが、更新するには最適なバージョンと、最も単純なバージョンのscalaでうまく動作する方法を理解できません。 Build.scalaで

、それは

"ws.securesocial" %% "securesocial" % "2.1.4", 
"com.typesafe" %% "play-plugins-mailer" % "2.2" exclude("org.scala-stm", "scala-stm_2.10.0"), 

を示し、私は2.10にアップデートしようとすると、私はplay.pluginsで

[warn] :: ws.securesocial#securesocial_2.10;2.10: not found 
[warn] :: com.typesafe#play-plugins-mailer_2.10;2.2: not found 

を取得し、それが

1500:com.typesafe.plugin.CommonsMailerPlugin  
9994:securesocial.core.DefaultAuthenticatorStore 
9995:securesocial.core.DefaultIdGenerator 
を持って

私は使用してビルドを手に入れました

"ws.securesocial" %% "securesocial" % "M3.0-M1" 

私はsecuresocial 2.1.4を使用してアプリケーションを実行してログインしようとすると、私が取得するために見るだけで、エラーが でユーザーをログインすることができません。例外は

[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] 

をスローされた場合は、究極の解決策は次のようになり新しいFacebookのAPIへの変更を反映するようにモデルを更新できます

--------------更新---------------

さらに調査してみると、Facebookは蜂のようにエンコードされたURLではなく、有効なJSONトークンを返す可能性があるようですnは今

https://developers.facebook.com/docs/apps/changelog#v2_3

、ちょうどあなたが2.1.4を使用しているので、スカラ座や

+0

ソースコードからわかるように、ご使用のバージョンのsecuresocilaはJSONトークンを解析します:https://github.com/jaliss/securesocial/blob/2.1.4-for-play24/module-code/app/securesocial/core /OAuth2Provider.scala#L72-L83 とにかく、最新のセキュリティで保護されたバージョンを試すことができますか? –

+0

ありがとう@AndriyKuba、あなたはどの最新バージョンを明確にすることができますか?私は '' ws.securesocial "%%" securesocial "%" 2.1.4-for-play24 "'を試しましたが、それは見つかりませんでした。私はすでに2.1.4に入っています - 私もM3.0を試しましたが、それを構築することはできませんでした。私はPlay 2.2.4を使っています。これは後のビルドとはかなり異なると思います。 – pedalpete

+0

また、私が作業しているパッチに対してあなたが指摘したコードをチェックしたところ、Oauth2providerのbuildInfoは両方のブランチで同じです – pedalpete

答えて

0

secure_socialにそれを更新する方法を把握しようとする前に私はあなたがオーバーライドしないFacebookの新しいプロバイダを作成示唆しますOAuth2ProviderのbuildInfoメソッドを使用して、組み込み関数の代わりにそれを登録します。

あなたはかなり速くなるはずです。

関連する問題

 関連する問題