2

J'ai récemment appris comment construire une application mobile à l'aide ionique et besoin d'un back-end alors j'ai décidé d'utiliser le cadre backand. Je développe dans Visual Studio et tout fonctionne très bien lorsqu'il est exécuté depuis l'émulateur, et tous les appels de service fonctionnent parfaitement, cependant lorsque je tente d'effectuer les mêmes opérations de service (POST) à partir d'un périphérique Android, l'erreur suivante s'affiche.ionique backand App a refusé la connexion au serveur sur le périphérique Android, pas sur l'émulateur

Refus de se connecter à 'https: //api.backand.com/1/objects/player/'; car il enfreint la directive de sécurité du contenu suivante: «default-src 'self' data: gap: https://ssl.gstatic.com 'unsafe-eval

J'ai trouvé un problème similaire dans lequel la solution était que je devais peut-être référencer l'adresse du serveur dans balise meta de index.html

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

Cette plante cependant l'application et maintenant je l'ai frappé une impasse à où je devais aller d'ici. Je serais heureux de vous fournir plus d'informations qui peuvent être nécessaire, toute aide serait grandement appréciée!

T hanches

Répondre

2

assurez-vous d'ajouter cordova-whitelist-plugin après avoir ajouté plate-forme Android à votre application.

Ordre des commandes doivent être:

ionic platform add android 

et après

cordova plugin add cordova-plugin-inappbrowser 
ionic plugin add https://github.com/apache/cordova-plugin-whitelist.git 

si vous changez l'ordre, ionique va installer le plugin uniquement pour la plate-forme actuelle qui est ios.

+1

Si vous ajoutez tout d'abord le plugin il sera ajouté que pour la plate-forme actuelle IOS. Si vous ajoutez d'abord la plate-forme Android, le plugin sera ajouté pour les deux. – Ygalbel

+0

J'ai ajouté les plugins inappbrowser et whitelist, et ça a marché! Cependant, il se plaint que je n'utilise pas de balise de sécurité de contenu méta. J'ai ajouté la balise meta suggéré suivante dans l'application Cependant quand j'inclure cette balise meta je reçois une erreur . Ce – Stephen

+0

est l'erreur que je reçois: Refus de se connecter à « https://api.backand.com/1/objects/player/ » parce qu'elle viole le contenu suivant directive politique de sécurité: « default-src données « auto » : gap: https://ssl.gstatic.com 'unsafe-eval' ". Notez que 'connect-src' n'a pas été défini explicitement, donc 'default-src' est utilisé comme solution de repli. – Stephen