RESTE l'authentification de l'utilisateur

OK... l'idée de base est d'avoir le SERVEUR et le CLIENT physiquement séparés (deux systèmes).

Mon idée est de construire un stand-alone web services (REST, XML, API-KEY) qui fournira

  1. D'authentification: l'Utilisateur de connexion, de déconnexion
  2. De données: Obtenir la liste des produits

Alors je vais créer des clients dans différentes langues (Flash, PHP, JavaScript). Les données seront servis uniquement aux utilisateurs authentifiés.

Typiques de la communication pour l'utilisateur pour obtenir la liste des produits seront les suivants:

  1. (1 demande) Login /début de la session
  2. (1 demande) Obtenir la liste des produits
  3. (1 demande) Obtenir la liste des produits
  4. ...

OK... Maintenant le problème que j'ai est la session de l'utilisateur. Disons que nous voulons construire Javascript client, nous avons à créer PHP client de communiquer avec le RESTE (PHP sait à propos de l'API REST-CLÉ) et transmet les informations à Javascript (CLIENT) droit? L'utilisateur se connecte par le biais de PHP pour se REPOSER un serveur et ensuite les données de la demande par le biais de PHP pour se REPOSER serveur?

Questions:

  • Maintenant, comment fonctionne PHP stocker des informations sur ouverture de session utilisateur sur le RESTE du serveur?
  • Si mon idée est mauvaise, quelle est la bonne façon de la mise en œuvre?
  • Alternatives?
Je ne suis pas sûr à propos d'une chose. Une fois que l'utilisateur est authentifié sur le côté client et vous faites des appels à d'autres services comme obtenir la liste des produits. Comment ce service va savoir que l'utilisateur a été authentifié?
(1) d'Envoyer à l'utilisateur des informations d'identification avec tous à la demande, via le protocole HTTPS. (2) Utiliser un existant, pratique et sécurisé d'authentification de la bibliothèque. Par exemple, prendre un coup d'oeil à github.com/delight-im/PHP-Auth qui est à la fois un cadre indépendant et de base de données agnostique. (3) connectez-vous. (4) Faire le travail sur votre serveur. (5) connectez-vous de nouveau.

OriginalL'auteur xpepermint | 2009-09-21