【发布时间】:2016-03-05 11:56:35
【问题描述】:
我正在尝试使用play 2.4.4(与2.4.2 相同)和SecureSocial 实现OAUTH2 身份验证,我的Scala 版本是2.11.7
我正在关注SecureSocial 的教程以及SecureSocial demo 的 Githhub 示例
我从文件play.plugins 中没有任何内容开始,然后尝试使用以下之一登录
http://localhost:9000/api/custom/login
我最终得到以下错误:
[RuntimeException: [securesocial] Missing properties for provider 'facebook'. Verify your configuration file is properly set.]
好的,2 个问题,1 没有登录,2 即使有登录我对 facebook 不感兴趣,只有 google。
在 SecureSocial 网站上配置后,有一个文件 play.plugin,您需要在其中指定您想要的提供者和处理身份验证的用户服务(用户服务可以在 github 示例中找到)
我的 play.plugins 看起来像这样:
9998:services.InMemoryUserService 10002:securesocial.core.providers.GoogleProvider
现在当我再次尝试相同的 URL 时,我收到以下错误:
java.lang.ClassCastException: interface play.api.Plugin is not assignable from class services.InMemoryUserService play.utils.Reflect$.getClass(Reflect.scala:145) play.api.Plugins$$anonfun$loadPlugins$1.apply(Plugins.scala:88) play.api.Plugins$$anonfun$loadPlugins$1.apply(Plugins.scala:87) scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:245) scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:245) scala.collection.immutable.List.foreach(List.scala:381) scala.collection.TraversableLike$class.map(TraversableLike.scala:245) scala.collection.immutable.List.map(List.scala:285) play.api.Plugins$.loadPlugins(Plugins.scala:87) play.api.Plugins$$anonfun$apply$4.apply(Plugins.scala:100) ...
什么!?
好的,现在我尝试使用其他身份验证网址:
http://localhost:9000/auth/authenticate/google
我得到同样的错误,如果我远程 play.plugins 我得到一个 Guice 异常,我不知道如何修复。
谢谢
【问题讨论】:
标签: scala playframework-2.0 guice securesocial