CORS (cross origin request) et B2G (via le W3C)

Avec la sortie prochaine d'un OS Mobile basé sur Gecko (Firefox OS) et la création d'un marketplace ouvert pour Firefox utilisant HTML5/CSS3/Javascript, la création d'applications web visant des centaines de millions d'utilisateurs est désormais ouverte à tous.
Répondre
fabbox
Lézard à collerette
Messages : 357
Inscription : 16 oct. 2014, 20:20

CORS (cross origin request) et B2G (via le W3C)

Message par fabbox » 05 juin 2016, 14:15

Bonjour à tous,

bon je commence à paniquer avec la transition vers B2G.

Avec le nouveau système d'app basé sur les standards, je ne vois pas comment peut-on concevoir de faire une application qui fait des CORS (ça marche pas avec les services workers ou autre standard). Dans fxOS, il fallait une application packagée qui déclarait "systemXHR" et faire les requêtes en précisant ce paramètres dans le code javascript.

Pour faire court, c'est impossible de faire un lecteur de flux rss en local qui n'interrogerait pas le serveur de la webapp et qui servirait de proxy.

Il y a un truc que j'ai loupé ?

Merci de votre aide :wink:
Votre Navigateur : Mozilla/5.0 (X11; Linux x86_64; rv:48.0) Gecko/20100101 Firefox/48.0

sizvix
Lézard à collerette
Messages : 427
Inscription : 05 sept. 2013, 15:03

Re: CORS (cross origin request) et B2G (via le W3C)

Message par sizvix » 06 juin 2016, 07:19

? Les CORS, c'est souvent le coté serveur où ça se corse pourtant ( enfin, penser à mettre un header, mais une fois qu'on le sait ... )
Mais en effet, ton app va aller chercher une page sur un autre serveur :-/
Ils n'ont pas mis des nouvelles permissions sur la nouvelle monture ? ( j'ai pas encore essayé de porter mes apps dessus )
Votre Navigateur : Mozilla/5.0 (X11; Linux x86_64; rv:46.0) Gecko/20100101 Firefox/46.0
Iwinote, une webapp pour créer une partition à partir d'un air que vous sifflez ^^
https://www.indiegogo.com/projects/iwinote
Merci de soutenir son financement et de le partager :)

fabbox
Lézard à collerette
Messages : 357
Inscription : 16 oct. 2014, 20:20

Re: CORS (cross origin request) et B2G (via le W3C)

Message par fabbox » 06 juin 2016, 20:07

c'est bien le problème pour un lecteur de flux rss...
Pour les nouvelles autorisations, je suis quasiment sur que ça a sauté puisque les apps "packagées" ont sauté (ce qui permettait d'avoir des autorisations "spéciales" puisque l'app était auditée/reviewé).
Mais ma question n'est pas vraiment innocente car ça veut dire qu'une webapp tu es obligé d'envoyer tes données au serveur qui doit gérer tout le traffic :-/ j'aime moins les webapp d'un coup :-\
Votre Navigateur : Mozilla/5.0 (X11; Linux x86_64; rv:48.0) Gecko/20100101 Firefox/48.0

Avatar de l’utilisateur
lapineige
Iguane
Messages : 643
Inscription : 19 avr. 2015, 17:36

Re: CORS (cross origin request) et B2G (via le W3C)

Message par lapineige » 07 juin 2016, 09:35

Je ne saurai pas répondre à ta question, ma compréhension technique du problème est un peu limité :/
(tu peux la reposter là pour voir ? https://discourse.mozilla-community.org ... ticipation)

Une webapp qui communique, ou moins de temps en temps avec un serveur ça peut être intéressant, mais en effet dans certains cas du tout local suffirait.

En quoi il n'est pas possible de faire ce type de requête avec les APIs standards ? (sans connaître les détails technique ça ne me semble pas très logique)
Votre Navigateur : Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.125 Safari/537.36 OPR/25.0.1614.71

sizvix
Lézard à collerette
Messages : 427
Inscription : 05 sept. 2013, 15:03

Re: CORS (cross origin request) et B2G (via le W3C)

Message par sizvix » 07 juin 2016, 14:16

CORS : Cross-origin resource sharing
https://en.wikipedia.org/wiki/Cross-ori ... ce_sharing
C'est un truc de sécurité ( je n'ai jamais trop compris l'utilité vu que c'est le serveur qui dit les droits, mais renvoie quand même la page ( et exécute le script donc ) et c'est le navigateur qui exécute ce droit ...
Je sais que je m'étais déjà agacé dessus, et en effet, normalement c'est le serveur qui dit les droit et la page affiché les gère.
Et pour un flux RSS, en effet, tu utilises d'autres pages , si le serveur d'origine de ces pages ne met pas l'autorisation CORS et que tu ne passes pas par un serveur , le navigateur te bloque la ressource ... Donc bloque la ressource pour les apps qui veulent l'utiliser ...
Mais en effet, pose ta question sur discourse .
Votre Navigateur : Mozilla/5.0 (X11; Linux x86_64; rv:46.0) Gecko/20100101 Firefox/46.0
Iwinote, une webapp pour créer une partition à partir d'un air que vous sifflez ^^
https://www.indiegogo.com/projects/iwinote
Merci de soutenir son financement et de le partager :)

Avatar de l’utilisateur
lapineige
Iguane
Messages : 643
Inscription : 19 avr. 2015, 17:36

Re: CORS (cross origin request) et B2G (via le W3C)

Message par lapineige » 09 juin 2016, 11:58

Et c'est efficace: https://discourse.mozilla-community.org ... bapps/9131
Votre Navigateur : Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:46.0) Gecko/20100101 Firefox/46.0

fabbox
Lézard à collerette
Messages : 357
Inscription : 16 oct. 2014, 20:20

Re: CORS (cross origin request) et B2G (via le W3C)

Message par fabbox » 09 juin 2016, 20:05

yep, merci du lien mais la réponse est pas très encourageante :-?
Votre Navigateur : Mozilla/5.0 (X11; Linux x86_64; rv:48.0) Gecko/20100101 Firefox/48.0

brieucs
Lézard vert
Messages : 109
Inscription : 02 mai 2015, 22:33

Re: CORS (cross origin request) et B2G (via le W3C)

Message par brieucs » 10 juin 2016, 14:38

bonjour, Fabbox, Sizvix,

je ne sais pas si ça a déjà été exploré, ni si c'est pertinent,
mais je trouve dans les 2 liens suivants :

http://www.html5rocks.com/en/tutorials/ ... roduction/
https://www.w3.org/TR/service-workers/# ... -resources

la possibilité d'émettre une "request" avec l'option "no-cors" pour le 'fetch'
et le 'cache' de données 'hors-site' avec une "opaque-response";
(avec des restrictions qui pourraient être délicates dans le cas du 'RSS').
La documentation est encore provisoire.
Dernière édition par brieucs le 16 juin 2016, 18:50, édité 1 fois.

sizvix
Lézard à collerette
Messages : 427
Inscription : 05 sept. 2013, 15:03

Re: CORS (cross origin request) et B2G (via le W3C)

Message par sizvix » 10 juin 2016, 15:10

C'est ce que je me posais comme question, avec les services-workers si on ne pouvait pas faire quelque chose .
Bon, là, j'ai pas pris le temps de lire tout ( mais je ne comprend toujours pas l'utilité des CORS dans le sens où ils existent ... encore, si c'était la page appelante qui définissait l'espace d'appel, je comprendrais , mais là ... )
Faudrait vraiment qu'il y ai la possibilité de débrider le système facilement ... au moins avec une modif de config via ADB ...
Votre Navigateur : Mozilla/5.0 (X11; Linux x86_64; rv:46.0) Gecko/20100101 Firefox/46.0
Iwinote, une webapp pour créer une partition à partir d'un air que vous sifflez ^^
https://www.indiegogo.com/projects/iwinote
Merci de soutenir son financement et de le partager :)

brieucs
Lézard vert
Messages : 109
Inscription : 02 mai 2015, 22:33

Re: CORS (cross origin request) et B2G (via le W3C)

Message par brieucs » 13 juin 2016, 21:08

[utilité des Cors ?] on trouve, dans
https://en.wikipedia.org/wiki/Same-origin_policy
un exemple (paragraphe "Security Concerns") :

on consulte son compte sur le site de sa banque, et, oubliant de se déconnecter,
on passe a un site malicieux : c'est lui qu'il faut empêcher d'aller "voir la banque"
par une tentative en JS (cross-site), qui peut explorer l'historique ou le "referer",
et "continuer" la session-banque, dont le cookie est encore là.

Le "Cors" permettrait de "cadrer" certaines requêtes hors-site légitimes ...

Exemples de XSS ci-après, trop compliqués pour moi :-?
https://en.wikipedia.org/wiki/Cross-sit ... t_examples

Maintenant, si quelqu'un arrive à faire autre chose avec les service-workers que
le quasi-même-exemple donné partout, qu'il nous prévienne ;)

brieucs
Lézard vert
Messages : 109
Inscription : 02 mai 2015, 22:33

Re: CORS (cross origin request) et B2G (via le W3C)

Message par brieucs » 30 juin 2016, 10:57

dans The Service Worker Cookbook : https://serviceworke.rs/
en particulier https://serviceworke.rs/fetching_demo.html
(demo) montre des essais "cors" et "no-cors", "http" et "https" ...

reste alors à voir ce qu'on peut faire avec un serveur http en localhost (Node et/ou TCPServerSocket du w3c)
[ la "transition" demande une profonde révolution dans notre compréhension et nos outils ] (web or dead !).

fabbox
Lézard à collerette
Messages : 357
Inscription : 16 oct. 2014, 20:20

Re: CORS (cross origin request) et B2G (via le W3C)

Message par fabbox » 03 juil. 2016, 20:06

De mon coté, ça donne du rouge sauf sur les requêtes cors enable avec firefox 47 et sous firefox dev edition (49), j'ai 2 erreurs :

Code : Tout sélectionner

  TypeError: event.request.url.contains is not a function service-worker.js:6

  Chargement du contenu mixte actif « about:neterror?e=corruptedContentErrorv2&u=https%3A//serviceworke.rs/fetching/index.html&c=UTF-8&f=regular&d=Le%20site%20%C3%A0%20l%E2%80%99adresse%20https%3A//serviceworke.rs/fetching/index.html%20a%20subi%20une%20violation%20de%20protocole%20r%C3%A9seau%20qui%20ne%20peut%20pas%20%C3%AAtre%20corrig%C3%A9e. » (non sécurisé) sur une page sécurisée[En savoir plus]fetching_demo.html
ça ne me surprend pas vraiment. Le service worker est censé être soumis au même contrainte de same-origin.

Ce que je n'ai pas bien compris, c'est si c'était censé marché ? (le coup du proxy notamment)
Votre Navigateur : Mozilla/5.0 (X11; Linux x86_64; rv:49.0) Gecko/20100101 Firefox/49.0

brieucs
Lézard vert
Messages : 109
Inscription : 02 mai 2015, 22:33

Re: CORS (cross origin request) et B2G (via le W3C)

Message par brieucs » 04 juil. 2016, 10:55

bonjour;
je soupçonne que la "fetching_demo" n'est pas complète, car au lieu de transmettre ou mettre en cache les "réponses opaques" en sw-proxy, elle annonce un "fail" en rouge (cas "https + no-cors", acao ou pas, sw-proxy ou pas).

Je pars à la pêche (2015) sur fetch :
https://jakearchibald.com/2015/thats-so-fetch/
https://hacks.mozilla.org/2015/03/this- ... -fetching/
http://stackoverflow.com/questions/3629 ... serves-for
( "incredibly complicated" ? ).
v aussi : https://fetch.spec.whatwg.org/

Répondre

Qui est en ligne ?

Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 1 invité