2011-04-14 16 views
1

Nous allons ajouter l'authentification par empreintes digitales à une application pour iPad; Comme nous ne pouvions pas trouver de matériel d'empreintes digitales qui fonctionne avec un iPad, nous avons trouvé DigitalPersona, qui est un fournisseur de matériel de scanner d'empreintes digitales, ainsi qu'un SDK pour Linux C/C++. L'idée est que l'utilisateur tapera "authentifier avec l'empreinte digitale" qui enverrait une demande RESTful à la boîte de Linux avec le scanner d'empreintes digitales; la boîte Linux exécutera le programme C++ compilé qui attend qu'un utilisateur scanne son doigt, détermine une correspondance ou une correspondance, et renvoie cette réponse à la demande initiale du programme iPad. Donc, avec très peu d'expérience C++ et encore moins de CGI (mais beaucoup de PHP et d'Objective-C), je me demandais si c'était techniquement possible. Un binaire CGI accédé via HTTP peut-il réellement attendre l'entrée de l'utilisateur local (à la console) avant d'envoyer le résultat à la requête HTTP? La boîte linux fonctionnerait sans la tête, et nous contrôlerions certaines LED pour aider à faire savoir à l'utilisateur que le programme attend une analyse d'empreinte digitale.Exécution d'un programme C++ compilé en tant que CGI

QUELQUES Détails Additionnels: Aucun PHP n'est prévu pour être utilisé. Dans un premier temps, nous voulons trois appareils: iPad Linux serveur

iPad exécute une application qui aurait une authentification biométrique IBOutlet; Linux a le scanner d'empreintes digitales dessus, et un Apache de base; en outre le SDK C++ pour le scanner d'empreintes digitales, que nous utiliserions pour construire le programme CGI qui, lorsqu'il est appelé (par le serveur), attend un doigt scanné, et une fois numérisé, envoie un "match" ou "aucun match" à son demandeur. Le serveur serait le demandeur. Une fois qu'il reçoit une demande de l'application iPad, il appelle le programme CGI sur la machine Linux, en attendant une requête "match" ou "no match".

Un autre membre de mon équipe proposait ceci: iPad lance l'application; l'utilisateur clique sur «auth avec empreintes digitales» et l'iPad est dans un état «en attente» Linux a le scanner d'empreintes digitales, l'utilisateur scanne l'empreinte digitale, et l'empreinte digitale est envoyée via HTTPS au serveur Server recevrait une empreinte digitale, et faire correspondre avec un utilisateur. puis vérifie si un iPad est en attente et quel utilisateur l'a initié. S'il correspond à l'utilisateur authentifié par empreinte digitale, il acceptera les données de l'iPad comme un poinçon authentique, et libérera l'iPad de l'état d'attente.

Répondre

1

Il y a essentiellement deux façons de le faire; vous pourriez avoir votre fonction PHP appeler une application externe via exec ou vous pourriez écrire un CGI externe en C++ directement en utilisant RudeCGI, Cgicc ou freeCGI. Il y a beaucoup de bibliothèques à choisir.

+0

De plus, il y a [ObjectiveCGI ] (http://www.sveinbjorn.org/objectivecgi) pour les applications CGI de base dans Objective-C lui-même ... –

+0

Cool, mais la classe ObjectiveCGI n'est plus disponible au téléchargement. –

+1

J'ai envoyé un courriel au mainteneur, peut-être que nous pouvons le récupérer en ligne. –

0

Pourquoi le CGI doit-il attendre l'entrée de l'utilisateur? Vous pouvez plutôt invoquer le CGI après avoir pris l'entrée d'Iphone et l'envoyer au CGI ... Il vous suffit alors de lire la réponse CGI de l'Iphone ...

+0

Je ne sais pas ... Je comprends –

+0

je pensais que le CGI est en cours d'exécution dans linux .. et vous prendra entrée de l'iPad et de passer ensuite cette entrée à linux ... –

Questions connexes