2017-02-07 2 views
0

Ich habe durch viele ähnliche Probleme, aber keine schien für mich arbeiten. Unsere App führt 2 API-Anfragen durch - die erste, die einen OAuth-Code an unsere API abholt (funktioniert einwandfrei) und die anderen Beiträge, die an die Rails-API (die fehlschlägt) schreiben.Cordova App nicht schlagen API auf Android - net :: ERR_CONNECTION_REFUSED

Ich bin Entsendung zu http://localhost:3000/api/v1/users/auth/openid_connect/callback

Aber net::ERR_CONNECTION_REFUSED bekommen. Dies funktioniert jedoch einwandfrei, wenn Sie mit iOS arbeiten.

Meine Config hat zur Zeit:

<plugin name="cordova-plugin-whitelist" spec="1" /> 
<access origin="*" /> 
<allow-navigation href="*" /> 
<allow-intent href="http://*/*" /> 
<allow-intent href="https://*/*" /> 

Ich habe versucht <allow-intent href="http://localhost:3000/api/v1/*" /> und <allow-intent href="http://127.0.0.1:3000/api/v1/*" /> und sogar die vollständige openid_connect/callback URL hinzugefügt, aber keiner scheint zu funktionieren.

In meinem index.html habe ich

<meta http-equiv="Content-Security-Policy" content="default-src * 'self' data: gap: https://ssl.gstatic.com 'unsafe-eval'; style-src 'self' 'unsafe-inline'; media-src *; connect-src * 'unsafe-inline'"> 

Hat das Problem liegen mit, wie ich access origin in der Config bin Handhabung oder habe ich das falsch Content-Security-Policy?

+0

Verwenden Sie mobile Daten zum Testen? Funktioniert es über WLAN? – Gandhi

+0

Ich laufe durch einen Emulator und verwende die gleichen API/Daten wie meine Web App (aus meiner Rails/Postgres App) – sbatson5

+0

Ist es möglich, dass Sie einen Proxy eingerichtet haben, der zu Ihrem Backend geht? Dies würde natürlich nicht auf einem Gerät funktionieren, auf dem dieser Proxy nicht eingerichtet ist. So macht Ionic es, entschuldigen Sie, wenn das sinnlos ist. –

Antwort

1

Um das Problem zu schließen, war der Fehler, dass Android schien nicht zu wissen, wie mit localhost umzugehen. Das Ändern der Domäne zu http://10.0.2.2 löste das Problem.

Verwandte Themen