2017-06-19 70 views
0

对问题的回答:facebook redirect_uri set to ios URL Scheme并未解决我的问题。为什么redirect_uri为facebook登录的自定义方案不起作用?

试图实现的Android的WebView Facebook登录(使用Facebook的SDK工作,但要实现它的WebView出于某种原因):

private void launchFacebookOauth() { 

    // intent 
    Intent intent = new Intent(Intent.ACTION_VIEW, getAuthorizationUri()); 
    intent.setFlags(Intent.FLAG_ACTIVITY_NO_HISTORY); 
    startActivity(intent); 
    finish(); 

} 

public Uri getAuthorizationUri() { 

    final String CLIENT_ID = "client_id"; 
    final String RESPONSE_TYPE = "response_type"; 
    final String REDIRECT_URI = "redirect_uri"; 
    final String CODE = "code"; 


    Map<String, String> params = new HashMap<>(); 
    params.put(CLIENT_ID, clientId); 
    params.put(RESPONSE_TYPE, CODE); 
    params.put(REDIRECT_URI, redirectUri); 


    Request request = new Request.Builder().url(AUTHORIZATION_ENDPOINT_URL).build(); 
    HttpUrl.Builder builder = request.url().newBuilder(); 
    for (Map.Entry<String, String> param : params.entrySet()) { 
     builder.addQueryParameter(param.getKey(), param.getValue()); 
    } 
    HttpUrl httpUrl = builder.build(); 

    return Uri.parse(httpUrl.toString()); 
} 

使用方案:http://https://为REDIRECT_URI,Android的节目对话框可以从MyTestApp &浏览器中选择(不要这种行为)。因此,试图用自定义方案:fb12345678 &主机hovermind.com

<intent-filter> 
     <action android:name="android.intent.action.VIEW" /> 
     <category android:name="android.intent.category.DEFAULT" /> 
     <category android:name="android.intent.category.BROWSABLE"/> 
     <data android:scheme="fb12345678" android:host="hovermind.com"/> 
    </intent-filter> . 

REDIRECT_URI:fb12345678://hovermind.com

得到错误的网页视图:

灿” t加载网址:该网址的域不包含在该应用的 域中。要加载此网址,请将您的 应用的所有网域和子网域添加到应用设置中的应用域名字段。

仅供参考,hovermind.com已添加到“应用程序域”部分和“有效的OAuth重定向URI”部分(开发人员仪表板)中。当试图在有效的OAuth重定向URI部分中添加fb12345678://hovermind.com时,Facebook会显示错误对话框。

如何从WebView(Facebook登录)使用自定义redirect_uri方案laucnh我的应用程序?

不想使用App Links或者(分SDK> = 23和服务器的配置问题)

回答

相关问题