2013-09-16 2 views
3

Как реализовать SecureSocial (новейшая версия моментального снимка) с Slick (1.0.1) и MySQL?Как реализовать Slick + MySQL + SecureSocial?

Я думаю, что я полностью сконфигурировал все.

У меня есть что-то подобное в моей модели класса User:

package models.auth 

    import securesocial.core._ 
    import scala.slick.driver.MySQLDriver._ 

    case class User(identityId: IdentityId, 
        firstName: String, 
        lastName: String, 
        fullName: String, 
        email: Option[String], 
        avatarUrl: Option[String], 
        authMethod: AuthenticationMethod, 
        oAuth1Info: Option[OAuth1Info] = None, 
        oAuth2Info: Option[OAuth2Info] = None, 
        passwordInfo: Option[PasswordInfo] = None) extends Identity 

    object User { 
     def apply(i: Identity): User = { 
      User(
       i.identityId, 
       i.firstName, 
       i.lastName, 
       i.fullName, 
       i.email, 
       i.avatarUrl, 
       i.authMethod, 
       i.oAuth1Info, 
       i.oAuth2Info, 
       i.passwordInfo 
     ) 
    } 
} 

object Users extends Table[User]("user") { 

    def userId = column[Long]("id", O.PrimaryKey, O.AutoInc) 

    def providerId = column[String]("providerId") 

    def email = column[Option[String]]("email") 

    def firstName = column[String]("firstName") 

    def lastName = column[String]("lastName") 

    def fullName = column[String]("fullName") 

    def avatarUrl = column[Option[String]]("avatarUrl") 

    def authMethod = column[AuthenticationMethod]("authMethod") 

    // oAuth 1 
    def token = column[Option[String]]("token") 

    def secret = column[Option[String]]("secret") 

    // oAuth 2 
    def accessToken = column[Option[String]]("accessToken") 

    def tokenType = column[Option[String]]("tokenType") 

    def expiresIn = column[Option[Int]]("expiresIn") 

    def refreshToken = column[Option[String]]("refreshToken") 

    // passwordInfo 
    def hasher = column[String]("hasher") 

    def password = column[String]("password") 

    def salt = column[String]("salt") 

} 

Что я должен делать дальше? Что импортирует в использование и методы для реализации? Документация очень плохая.

ответ

2

Вам необходимо реализовать функцию UserService, расширив объект UserServicePlugin.

Документ не такой уж плохой: UserService Documentation.

SecureSocial полагается на реализацию UserService для обработки всех операций, связанных с сохранением/поиском пользователей.

+0

ОК. Все нормально. Как я вижу, я должен использовать его как провайдера плагинов. Да? – mrzepinski

+0

Да. Добавьте этот плагин в 'play.plugins'. – maba

Смежные вопросы