KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
First post here so please be gentle. I'm building a facebook chat client, using Smack library. I'm using X-FACEBOOK-PLATFORM method in order not to save any passwords. I had it working properly using oauth 1.0, and want to change it to 2.0, cause of the october 1st deadline ;p. From what I understand the only thing I'd have to do in order to migrate to 2.0 is removing "sig" and "session_key" parameters and adding an "access_token" parameter, but I'm getting an "SASL authentication X-FACEBOOK-PLATFORM failed: not-authorized:". I'm using this custom SASLMechanism class: package smackresearching; import java.io.IOException; import java.net.URLEncoder; import java.util.GregorianCalendar; import java.util.HashMap; import java.util.Map; import javax.security.sasl.Sasl; import org.jivesoftware.smack.SASLAuthentication; import org.jivesoftware.smack.XMPPException; import org.jivesoftware.smack.sasl.SASLMechanism; import org.jivesoftware.smack.util.Base64; public class SASLXFacebookPlatformMechanism extends SASLMechanism { public static final String NAME = "X-FACEBOOK-PLATFORM"; private String apiKey = ""; private String accessToken = ""; /** * Constructor. */ public SASLXFacebookPlatformMechanism(SASLAuthentication saslAuthentication) { super(saslAuthentication); } @Override protected void authenticate() throws IOException, XMPPException { // Send the authentication to the server getSASLAuthentication().send(new AuthMechanism(getName(), "")); } @Override public void authenticate(String apiKey, String host, String accessToken) throws IOException, XMPPException { this.apiKey = apiKey; this.accessToken = accessToken; this.hostname = host; String[] mechanisms = { "DIGEST-MD5" }; Map<String, String> props = new HashMap<String, String>(); this.sc = Sasl.createSaslClient(mechanisms, null, "xmpp", host, props,
Tags (comma-separated)
Save Edits
Cancel