FacebookOAuthFragment.java 890 Bytes
Newer Older
1 2
package chat.rocket.android.fragment.oauth;

Tiago Cunha's avatar
Tiago Cunha committed
3
import chat.rocket.core.models.LoginServiceConfiguration;
4 5 6 7
import okhttp3.HttpUrl;

public class FacebookOAuthFragment extends AbstractOAuthFragment {

Yusuke Iwaki's avatar
Yusuke Iwaki committed
8 9
  @Override
  protected String getOAuthServiceName() {
10 11 12
    return "facebook";
  }

Yusuke Iwaki's avatar
Yusuke Iwaki committed
13
  @Override
Tiago Cunha's avatar
Tiago Cunha committed
14
  protected String generateURL(LoginServiceConfiguration oauthConfig) {
15 16 17 18 19
    return new HttpUrl.Builder().scheme("https")
        .host("www.facebook.com")
        .addPathSegment("v2.2")
        .addPathSegment("dialog")
        .addPathSegment("oauth")
Tiago Cunha's avatar
Tiago Cunha committed
20
        .addQueryParameter("client_id", oauthConfig.getKey())
21 22 23 24 25 26 27 28
        .addQueryParameter("redirect_uri", "https://" + hostname + "/_oauth/facebook?close")
        .addQueryParameter("display", "popup")
        .addQueryParameter("scope", "email")
        .addQueryParameter("state", getStateString())
        .build()
        .toString();
  }
}