我正在编写一个播放应用程序(在 scala 中),我正在尝试执行 twitter 在这里概述的反向身份验证步骤:https ://dev.twitter.com/docs/ios/using-reverse-auth
该步骤听起来像一个普通的 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 签名和令牌”