myślę,
- wygenerowania tokenu (wrażliwe info na stronie serwera)
- podpisywanie i szyfrowanie wygenerowanego tokena z kluczem maszynowym, który jest znany tylko z serwerem. I zdobądź zaszyfrowany token.
- Następnie zapisz zaszyfrowany token uzyskany w kroku 2 w ciasteczkach.
- Okres ważności plików cookie powinien być bardzo krótki. Utwórz plik cookie httponly.
Po uwierzytelnieniu plik cookie
- walidacji cookie
- Deszyfruj z klucza maszynowego i sprawdzić, czy jest wysyłany tylko przez nasz serwer i z tego samego CRC.
- Uwierzytelnij otrzymany token, jeśli powyższy krok 2 jest dobry.
angularjs Automatyczne dodawanie nagłówków w każdym żądaniu http $
AngularAppFactory.GetApp=function(appName){
var app = angular.module(appName, []);
app.factory('httpRequestInterceptor', ['$rootScope', function($rootScope)
{
return {
request: function($config) {
if($rootScope.user.authToken)
{
$config.headers['id'] = $rootScope.user.id;
$config.headers['auth-token'] = $rootScope.user.authToken;
}
return $config;
}
};
}]);
app.config(function ($httpProvider) {
$httpProvider.interceptors.push('httpRequestInterceptor');
});
return app;
}
//Whenever you need to get new angular app, you can call this function.
app = AngularAppFactory.GetApp('appName');
Co masz linki, które sugerują lokalnej pamięci nie jest dobrym pomysłem? –
Nie mam ich pod ręką, ale znowu je wykopię. Jestem zaznajomiony z twoją pracą z Dominikiem i chciałbym usłyszeć twoją opinię na temat przechowywania go w lokalnej pamięci. Czy to coś, co polecasz? – user3410575
Myślę, że lokalne przechowywanie jest w porządku, o ile wiesz, jak to wszystko działa. W pewnym sensie nie różni się to od trwałego cookie, którego używasz do logowania się do witryny. –