2016-03-29 42 views
2

我正在構建一個離子應用程序,並且正在使用ng-token-auth。一切都在瀏覽器很好,我可以通過Facebook標識,但是當我模仿Android上,我得到一個錯誤我得到登錄到Facebook上後,程序就重定向:Facebook令牌身份驗證在Android上失敗,但不是瀏覽器

I/chromium(2252): [INFO:CONSOLE(0)] "Not allowed to load local resource: file:///android_asset/www/index.html?auth_token=kUDlceeLBDmauQ2nN_KzqQ&blank=true&client_id=zoIcXXXXolEkpN0IxM9utA&config=&expiry=1459541228&uid=1727512764150849#/app/signin", source: file:///android_asset/www/index.html#/app/signin (0) 

這裏是我的後端代碼:

BASE_API_URL取決於應用程序是否在locahost上啓動或不啓動。

$authProvider 
    .configure({ 
    apiUrl: BASE_API_URL, 
    storage: 'localStorage', 
    forceHardRedirect: true, 
    omniauthWindowType: window.cordova == undefined ? 'sameWindow' : 'inAppBrowser', 
    authProviderPaths: { 
     facebook: '/auth/facebook' 
    } 
    }) 

我的config.xml具有inAppBrowser功能。

<feature name="InAppBrowser"> 
    <param name="ios-package" value="CDVInAppBrowser"/> 
    <param name="android-package" value="org.apache.cordova.inappbrowser.InAppBrowser"/> 
</feature> 

任何想法?它是否需要與webview做些什麼?或者它是內容安全策略?我使用InAppBrowser功能,但是我怎麼能確定它是用?

回答

1

好的,我解決了它。這是由於omniauthWindowType: window.cordova == undefined ? 'sameWindow' : 'inAppBrowser'總是使用sameWindow