游戏框架上的安全社会定制

时间:2014-04-20 14:56:40

标签: java playframework-2.0 securesocial

我正在尝试使用java API在play框架上自定义安全的社交方法。 基本上我需要在J SON中发送请求,并在J SON中发送响应。 我想做的是I-phone App的后端。在互联网上没有很多关于安全社交的资源。 我需要使用用户名和密码以及使用提供程序(face book,twitter,...)来实现登录。 我使用了这段代码,但没有用:

import play.api.libs.json.Json
import play.api.mvc._
import securesocial.core._

class AuthController extends Controller {
  private implicit val readsOAuth2Info = Json.reads[OAuth2Info]
  // Some of the below code is taken from ProviderController in SecureSocial
  def authenticateMobile(providerName: String) = Action(parse.json) { implicit request =>
    // format: { "accessToken": "..." }
    val oauth2Info = request.body.asOpt[OAuth2Info]
    val provider = Registry.providers.get(providerName).get
    val filledUser = provider.fillProfile(
      SocialUser(IdentityId("", provider.id), "", "", "", None, None, provider.authMethod, oAuth2Info = oauth2Info))
    UserService.find(filledUser.identityId) map { user =>
      val newSession = Events.fire(new LoginEvent(user)).getOrElse(session)
      Authenticator.create(user).fold(
        error => throw error,
        authenticator => Ok(Json.obj("sessionId" -> authenticator.id))
          .withSession(newSession - SecureSocial.OriginalUrlKey - IdentityProvider.SessionId - OAuth1Provider.CacheKey)
          .withCookies(authenticator.toCookie)
      )
    } getOrElse NotFound(Json.obj("error" -> "user not found"))
  }
  // any other methods you might have relating to authentication ...
}

任何想法我怎么能从那开始呢? 感谢

0 个答案:

没有答案