J'ai lu sur oAuth, Amazon RESTE API HTTP de Base/Digest et ainsi de suite, mais ne peut pas obtenir tous en "seul morceau". C'est probablement le plus proche de la situation - Création d'une API pour les applications mobiles, l'Authentification et l'Autorisation
Je voudrais construit API-site web centré sur l' - service. Donc (au début) je voudrais avoir une API dans le centre et le site web (PHP + MySQL) permettrait de se connecter via cURL, Android et iPhone via leurs interfaces réseau. Donc 3 principaux clients - 3 clés API. Et n'importe quel autre développeur pourrait également développer via l'interface de l'API et ils auraient leur propre clé API. API actions seraient acceptées/rejetées sur la base d'userLevel statut, si je suis un admin, je peux rien supprimer, etc., tous les autres peuvent manipuler seulement leurs locaux (compte) de données.
Tout d'abord, l'autorisation - dois-je utiliser oAuth + xAuth ou mon quelque-sorte-de-mon-propre mise en oeuvre (voir http://docs.amazonwebservices.com/AmazonCloudFront/latest/DeveloperGuide/RESTAuthentication.html?r=9197)? Ce que je comprends, sur Amazon les utilisateurs des services == utilisateur API (ont clé API). Sur mon service, j'ai besoin de séparer les utilisateurs standard/compte (celui qui s'est inscrit sur le site) et les Comptes des Développeurs (qui devraient avoir leur clé API).
Donc, je voudrais tout d'abord besoin d' autoriser la clé API et puis Authentifier l'utilisateur lui-même. Si j'utilise Amazon du régime de vérification du développeur de l'API keys (autoriser leur application), qui sheme dois-je utiliser pour l'authentification de l'utilisateur?
J'ai lu sur l'obtention d'un jeton via api.example.org/auth
après (via HTTPS, HTTP de Base) l'affichage de mon nom d'utilisateur et mot de passe, puis de le transférer à chaque demande. Comment gérer les invitations si je suis connecté simultanément sur Android et un site web? Ce de l'homme-dans-le-milieu-attaque si je suis en utilisant SSL uniquement lors de la première demande (lorsque le nom d'utilisateur et mot de passe sont transmis) et juste en HTTP sur tous les autres? N'est-ce pas un problème dans cet exemple, le Mot de passe de protection d'un service REST?