Une application Web typique est principalement sans état , en raison de sa nature de demande / réponse . Le protocole HTTP est le meilleur exemple de protocole sans état . Mais comme la plupart des applications Web ont besoin d'un état , afin de conserver l' état , entre le serveur et le client, les cookies sont utilisés de telle sorte que le serveur puisse renvoyer chaque réponse au client. Cela signifie que la prochaine demande faite par le client inclura ce cookie et sera donc reconnue par le serveur. De cette façon, le serveur peut maintenir une session avec le client sans état , sachant presque tout sur l' état de l'application , mais stocké sur le serveur. Dans ce scénario, à aucun moment le client ne tientstate , ce qui n'est pas ainsi que fonctionne Ember.js
Dans Ember.js, les choses sont différentes. Ember.js facilite le travail du programmeur car il contient en effet l' état pour vous, dans le client, en sachant à chaque instant son état sans avoir à faire une requête au serveur demandant des données d' état .
Cependant, la conservation de l' état dans le client peut également parfois introduire des problèmes de concurrence qui ne sont tout simplement pas présents dans les situations sans état . Cependant, Ember.js traite également ces problèmes pour vous, en particulier les données de braise sont construites dans cet esprit. En conclusion, Ember.js est un framework conçu pour les clients avec état .
Ember.js ne fonctionne pas comme une application Web sans état typique où la session , l' état et les cookies correspondants sont gérés presque entièrement par le serveur. Ember.js conserve son état complètement en javascript (dans la mémoire du client, et non dans le DOM comme certains autres frameworks) et n'a pas besoin du serveur pour gérer la session. Cela se traduit par Ember.js plus polyvalent dans de nombreuses situations, par exemple lorsque votre application est en mode hors ligne.
Évidemment, pour des raisons de sécurité, il a besoin d'une sorte de jeton ou de clé unique à envoyer au serveur chaque fois qu'une demande est faite afin d'être authentifié , de cette façon le serveur peut rechercher le jeton d'envoi (qui a été initialement émis par le serveur) et vérifiez s'il est valide avant de renvoyer une réponse au client.
À mon avis, la principale raison pour laquelle utiliser un jeton d'authentification au lieu de cookies comme indiqué dans la FAQ Ember Auth est principalement à cause de la nature du cadre Ember.js et aussi parce qu'il correspond davantage au paradigme de l'application Web avec état . Par conséquent, le mécanisme de cookies n'est pas la meilleure approche lors de la création d'une application Ember.js.
J'espère que ma réponse donnera plus de sens à votre question.