我想使用新推出的登录提供商,Twitter推出的Digits。一切正常,直到我想验证第三方服务器上的用户凭据(在我的情况下是亚马逊Cognito),如here所述。
TwitterAuthConfig authConfig = TwitterCore.getInstance().getAuthConfig();
TwitterAuthToken authToken = session.getAuthToken();
OAuthSigning oauthSigning = new OAuthSigning(authConfig, authToken);
在我的情况下session.getAuthToken();
返回一个AuthToken实例而不是TwitterAuthToken,然后我无法将其传递给OAuthSigning()
答案 0 :(得分:5)
您可以简单地将AuthToken转换为TwitterAuthToken。如果您使用Amazon Cognito,则可以使用与以下类似的块:
@Override
public void success(DigitsSession session, String phoneNumber) {
TwitterAuthToken authToken = (TwitterAuthToken)session.getAuthToken();
String value = authToken.token + ";" + authToken.secret;
Map<String, String> logins = new HashMap<String, String>();
logins.put("www.digits.com", value);
// Note: This overrides any existing logins
credentialsProvider.setLogins(logins);
}