Using Play 2.3.1, Java, Scala 2.10.0
I am trying to integrate securesocial in my web project
/build.sbt
lazy val root = project.in( file(".") ).enablePlugins(PlayJava) scalaVersion := "2.11.1"
libraryDependencies ++= Seq( jdbc, cache, filters, anorm,
"com.typesafe.play.plugins" %% "play-plugins-util" % "2.3.0",
"com.typesafe.play.plugins" %% "play-plugins-mailer" % "2.3.0",
"org.mindrot" % "jbcrypt" % "0.3m", "ws.securesocial" %% "securesocial" % "master-SNAPSHOT" )resolvers += Resolver.sonatypeRepo("snapshots")
conf/play.plugins
1500:com.typesafe.plugin.CommonsMailerPlugin 10001:securesocial.core.providers.FacebookProvider
conf/securesocial.conf
securesocial {
onLoginGoTo=/
onLogoutGoTo=/login
ssl=false
assetsController=controllers.ReverseMyCustomAssetsController
userpass {
withUserNameSupport=false
sendWelcomeEmail=true
enableGravatarSupport=true
signupSkipLogin=true
tokenDuration=60
tokenDeleteInterval=5
minimumPasswordLength=8
enableTokenJob=true
hasher=bcrypt
}
twitter {
requestTokenUrl="https://twitter.com/oauth/request_token"
accessTokenUrl="https://twitter.com/oauth/access_token"
authorizationUrl="https://twitter.com/oauth/authenticate"
consumerKey=your_consumer_key
consumerSecret=your_consumer_secret
}
facebook {
authorizationUrl="https://graph.facebook.com/oauth/authorize"
accessTokenUrl="https://graph.facebook.com/oauth/access_token"
clientId=your_client_id
clientSecret=your_client_secret
# this scope is the minimum SecureSocial requires. You can add more if required by your app.
scope=email
}
google {
authorizationUrl="https://accounts.google.com/o/oauth2/auth"
accessTokenUrl="https://accounts.google.com/o/oauth2/token"
clientId=your_client_id
clientSecret=your_client_secret
scope="https://www.googleapis.com/auth/userinfo.profile https://www.googleapis.com/auth/userinfo.email"
}
}
But getting below error
Could not find an appropriate constructor to instantiate plugin [securesocial.core.providers.FacebookProvider]. All Play plugins must define a constructor that accepts a single argument either of type play.Application for Java plugins or play.api.Application for Scala plugins.
The project compiled successfully.
What I am missing? Any pointer will be useful on how to resolve this issue
As part of the latest refactorings in master the module does not use plugins any more. All the things you specified using plugins have now to be defined in a RuntimeEnvironment.
Check out the sample apps to see how it is used.