我正在写一个播放应用(斯卡拉)和我试图执行由叽叽喳喳这里列出的反向AUTH步:https://dev.twitter.com/docs/ios/using-reverse-auth如何在Scala Play Framework中进行Twitter反向验证?
步骤听起来像一个普通的RetrieveRequestToken到https://api.twitter.com/oauth/request_token与附加参数设置的x_auth_mode = reverse_auth
我玩的框架使用Sign-Post(https://code.google.com/p/oauth-signpost/),我想知道如何利用WS库和Sign-Post来实现这一点。
这里是我想出了:
val KEY = ConsumerKey(Play.configuration.getString("twitter.consumer.key").getOrElse("XXXX"), Play.configuration.getString("twitter.consumer.secret").getOrElse("XXXX"))
def reverse = Action.async {
val oauth_calc = OAuthCalculator(KEY, RequestToken("",""))
oauth_calc.setSigningStrategy(new oauth.signpost.signature.AuthorizationHeaderSigningStrategy)
var reverse_request : Future[Response] = WS.url("https://api.twitter.com/oauth/request_token").sign(oauth_calc)
.post(Map("x_auth_mode" -> Seq("reverse_auth")))
reverse_request.map{
response => {
Logger.debug(response.body)
Ok("Here")
}
}
}
我得到不过“无法验证的OAuth签名和令牌”