2013-03-28 2 views
0

je veux créer un api pour mon propre application mobile pour accéder aux données qui sont stockées dans une base de données MySQL. Cependant, j'ai lu beaucoup d'articles sur l'approche OAuth à 3 pattes et je pense que ce n'est pas la solution que je cherche. Quand je le comprends correctement, l'approche à trois pattes est plus utilisable lorsque je crée un nouveau client Twitter et que je veux utiliser le Twitter Api.2 OAuth en trois étapes avec PHP et MySQL

Mais mon application n'est pas une application tierce, mon application et le site incl. la base de données sont de moi. Donc je suppose, que l'utilisateur commence l'application entre son identifiant et mot de passe, puis l'API a une fonction qui vérifie si userid/pw sont corrects et renvoie "vrai" en conséquence à l'application. L'application offre ensuite à l'utilisateur la possibilité d'accéder aux fonctions pour lesquelles une connexion est nécessaire. L'utilisateur ne doit donc pas être redirigé vers un site Web et "autoriser" l'accès à userid/pw.

Si je comprends bien l'approche 2 pattes est plus probable pour mon but. Mais je suis confus par cela aussi. Je suppose que l'utilisateur entre son ID et pw, ces informations d'identification sont recherchées dans la base de données par le service Web un jeton sera recherché dans la base de données pour cet utilisateur et sera envoyé à l'application. En outre, un jeton d'application est enregistré dans l'application depuis le début et sera envoyé avec la demande également. L'application enregistrera ce jeton d'utilisateur de la base de données en interne et utilisera ce jeton chaque fois que l'utilisateur fera quelque chose avec le service Web. Avec chaque demande au service Web, le jeton sera envoyé au service et le service vérifie si le jeton est valide, sinon une erreur est envoyée à l'application.

Je levais les yeux cet exemple: http://code.google.com/p/oauth-php/wiki/ConsumerHowTo#Two-legged_OAuth

Mais il n'y a rien mentionné que l'ID utilisateur/pw de l'utilisateur sont recherchés dans la base de données ...

Quelqu'un peut-il expliquer comment je peux résoudre ce ?

Répondre

0

Deux OAuth pattes est similaire au client-serveur. C'est une application cliente demandant un accès complet aux données d'un serveur. Le client aurait accès à toutes les données autorisées par ses lettres de créance, quel que soit l'utilisateur accède au client

Trois pattes OAuth est un utilisateur client-serveur. C'est un client qui demande l'accès aux données de l'utilisateur à partir d'un serveur. Le client n'aurait accès qu'aux données de cet utilisateur autorisé (jusqu'à ce que l'utilisateur révoque l'accès).

+0

Oui. Mais dans mon cas, je ne veux pas rediriger la personne qui se connecte via mon application à un site Web pour demander un jeton. Les informations d'identification de l'utilisateur doivent simplement être vérifiées en arrière-plan et l'accès dans l'application doit être accordé. L'application officielle Twitter ou Facebook ne vous redirige nulle part pour accepter quoi que ce soit lorsque vous entrez vos informations d'identification .... comment puis-je faire cela? – Torben

+0

Si vous contrôlez le client et le serveur, vous devez simplement créer une application client-serveur dans laquelle les informations d'identification de l'utilisateur sont transmises au serveur dans les coulisses du client pour autorisation. –

+0

Y at-il des tutoriels disponibles qui décrivent exactement cela - comment le serveur devrait réagir et comment je peux le réaliser avec PHP ...? – Torben