2017-06-19 72 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和服務器的配置問題)

回答

相關問題