blob: 326ca90644693b3fe1f59c4b9791d3498e90c7f0 [file] [log] [blame]
package org.wordpress.android.networking;
import org.wordpress.android.WordPress;
import org.wordpress.android.models.Blog;
import org.wordpress.android.models.AccountHelper;
import org.wordpress.android.util.StringUtils;
public class OAuthAuthenticator implements Authenticator {
public static String getAccessToken(final String siteId) {
String token = AccountHelper.getDefaultAccount().getAccessToken();
if (siteId != null) {
// Get the token for a Jetpack site if needed
Blog blog = WordPress.wpDB.getBlogForDotComBlogId(siteId);
if (blog != null) {
String jetpackToken = blog.getApi_key();
// valid OAuth tokens are 64 chars
if (jetpackToken != null && jetpackToken.length() == 64 && !blog.isDotcomFlag()) {
token = jetpackToken;
}
}
}
return token;
}
@Override
public void authenticate(final AuthenticatorRequest request) {
String siteId = request.getSiteId();
String token = getAccessToken(siteId);
request.sendWithAccessToken(StringUtils.notNullStr(token));
}
}