Nous avons utilisé directement U2F sur notre application web auth avec le nom d'hôte comme ID d'application (https://auth.company.com) et cela fonctionne très bien. Cependant, nous aimerions pouvoir nous authentifier avec le serveur d'authentification d'autres applications (et les noms d'hôte, par exemple https://customer.app.com) qui communiquent avec le serveur d'authentification via l'API HTTP. Je peux générer les demandes de signature et les appels d'API sans les renvoyer aux applications clientes, mais cela échoue côté serveur (serveur d'authentification) car l'ID d'application ne valide pas (les clients utilisent leurs propres noms d'hôte comme identifiant d'application). C'est compréhensible, mais comment dois-je gérer cela? J'ai lu des facettes mais je n'arrive pas à le faire fonctionner.U2F avec multi-facette App ID
L'application client JS est comme:
var registerRequests = // ...
var signRequests = // ...
u2f.register('http://localhost:3000/facets', registerRequests, signRequests, function(registerResponse) {
if (registerResponse.errorCode) {
return alert("Registration error: " + registerResponse.errorCode);
}
// etc.
});
Cela me donne un code d'erreur 5 (erreur de délai d'attente) après un certain temps. Je ne vois aucune demande à/facettes. Y a-t-il un moyen de contourner ce problème ou est-ce que j'aboie le mauvais arbre (ou une autre forêt)?
----
Ok, donc après quelques heures de recherches sur ce; Je suis sûr que ce peu sulfureuse du plugin U2F Firefox est la source de certains de mes malheurs:
if (u.scheme == "http")
if (url2str(u, true) == url2str(ou, true))
return resolve(challenge);
else
return reject("Not matching appID");
https://github.com/prefiks/u2f4moz/blob/master/ext/appIdValidator.js#L106-L110
Il est essentiellement dire, si le système du appID est http, ne permettent si elle est exactement le même que l'hôte de la page (il continue à faire le comportement pour récupérer les facettes approuvées JSON mais seulement pour https).
Je ne sais toujours pas si je suis sur la bonne voie dans la façon dont j'essaie de concevoir cela.