Qu'est ce qu'une clé API

Je suis en train de travailler sur la meilleure façon de gérer l'authentification de l'utilisateur de mon application mobile (iOS & Android) et de l'API (PHP).

De ce que j'ai recherché les options sont:

Basic auth via HTTPS - Vérifier le nom d'utilisateur/mot de passe de l'utilisateur pour chaque demande.

Sessions - Envoyer à un IDENTIFIANT de session à chaque demande; server gère l'état. Donc application envoie le nom d'utilisateur/mot de passe et le serveur vérifie pour un utilisateur connecté sur les demandes ultérieures, tout comme mon site n'.

Jetons API - application Mobile envoie le nom d'utilisateur/mot de passe et reçoit un jeton, puis ajoute cette suite. Jeton stockées dans la bd et vérifiée à chaque demande.

Je devine que mon explication de jetons API est incorrect, car ils semblent identiques aux séances, parce que je stocke l'ID de session dans la DB.

  1. Mon explication de jetons API être corrigé. Quels sont-ils? En quoi diffèrent-elles à l'IDENTIFIANT de session?
  2. Quels sont les avantages de l'API de jetons?
  3. Est oAuth (si nous étions à simplifier ses utilisations) un protocole pour la création d'API "jetons"?

OriginalL'auteur paul | 2013-07-22