KONTEKST:Token uwierzytelniania Ember.js dla Ember-Data + AMS => JSON lub nagłówek HTTP?
Mam aplikację Ember.js 1.1.0-beta.1, która wymienia dane JSON z serwerem Rails-API (Rails 4). Wymiana danych JSON jest realizowana za pomocą Ember-Data 1.0.0-beta.2 i Active Model Serializers 0.8.1 (AMS). Używam domyślnych zalecanych konfiguracji zarówno dla Ember-Data, jak i AMS i jestem zgodny ze specyfikacją JSON-API.
W dowolnym wywołaniu RESTful klient przekazuje bieżący token uwierzytelniający na serwer. Token uwierzytelniania jest weryfikowany i wycofywany, a nowy token uwierzytelniania jest generowany i wysyłany do klienta. W związku z tym każde wywołanie RESTful akceptuje token uwierzytelniający w żądaniu i dostarcza nowy token uwierzytelniający w odpowiedzi, którą klient może buforować i używać do następnego wywołania RESTful.
PYTANIE:
Gdzie mam umieścić token uwierzytelniający w każde żądanie i odpowiedź?
Czy powinien być częścią JSON każdego obiektu w żądaniu i odpowiedzi? Jeśli tak, to gdzie jest token umieszczony w strukturze JSON istniejącego obiektu (który nie ma nic wspólnego z uwierzytelnianiem)?
Czy powinny one zostać umieszczone w nagłówku HTTP dla każdego obiektu żądania i odpowiedzi?
Co to jest "The Ember Way", której można się spodziewać w nowej książce kucharskiej Ember Guides?
więcej kontekstu:
Jestem już zaznajomieni z poniższych linków:
- @machty 2 Embercasts: http://www.embercasts.com/episodes/client-side-authentication-part-2
- @wycats tweet: https://twitter.com/wycats/status/376495062709854209
- @cavneb 3 blogach: http://coderberry.me/blog/2013/07/08/authentication-with-emberjs-part-1
- @simplabs wpis na blogu: http://log.simplabs.com/post/53016599611/authentication-in-ember-js
... i szukam odpowiedzi, które wykraczają poza to i są charakterystyczne dla Ember-Data + AMS.
Z wyjątkiem konieczności przechodzić nowy żeton z powrotem do klienta w odpowiedzi poprzez Ember-Data, załóżmy mój kod klient jest inny sposób podobny do @machty przykład Embercast na GitHub: https://github.com/embercasts/authentication-part-2/blob/master/public/js/app.js
Dziękuję bardzo!