0

안전 사회와 페이스 북 로그인과 2.2.4 응용 프로그램은에서와 같이 그 그런 파손과 너무 오랫동안 업데이 트되지 않았습니다, 난 그냥 다른 언어로 재건을 할거야 (나는 거의 스칼라를 다 했어).스칼라 내가 SecureSocial 2.1.4 사용하는 프로젝트를 인수했고 스칼라 2.2.4</p> <p>내가 업데이트에보고하고 결정을 실행

오늘 페이스 북 API에 대한 업데이트로 로그인이 깨진 것 같습니다.

로그인을 얻는 가장 빠른 경로를 알아 내려고하지만 가장 좋은 버전이 무엇인지 파악할 수 없으며 가장 간단한 버전의 scala로 제대로 작동하도록하는 방법을 알 수 없습니다. 내가 2.10로 업데이트하려고하면 Build.scala에서

, 그것은 그것

1500:com.typesafe.plugin.CommonsMailerPlugin  
9994:securesocial.core.DefaultAuthenticatorStore 
9995:securesocial.core.DefaultIdGenerator 

을 가지고, 내가 play.plugins에서

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

를 얻을

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

보여줍니다 빌드를 사용하여 관리 할 수 ​​있었습니까

"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에 대한 새로운 변경 사항을 적용하도록 모델을 업데이트 할 수 있습니다.

-------------- 업데이트 ---------------

더 많은 연구를 해보니 페이스 북에서 벌을 인코딩 한 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에 그를 업데이트하는 방법을 알아 내려고 시도하기 전에 나는 당신이 우선하지 않는 새로운 페이스 북 공급자를 만들 제안 OAuth2Provider에서 buildInfo 메소드를 작성하고 빌트인 메소드 대신이를 등록하십시오.

꽤 빠르지 만.