2
我使用angular-http-auth在angular-js應用程序中進行身份驗證。如何使用angular-http-auth保持會話?
這裏是登錄控制器內的登錄功能:
$scope.login = function() {
var credentials = Base64.encode($scope.username + ':' + $scope.password);
var config = { headers: { 'Authorization': 'Basic ' + credentials } };
$http.get('url/to/json/user', config)
.success(function() {
$http.defaults.headers.common['Authorization'] = 'Basic ' + credentials;
authService.loginConfirmed();
console.log('login success');
})
.error(function() {
console.log('login failed');
});
}
(Base64是從here來加密服務)
問題:如果用戶已經登錄,他打開新標籤,或者如果他重新加載頁面,他必須再次登錄。
怎樣才能避免這種情況,並保持會話打開,如果用戶重新加載頁面或來自外部鏈接?
只是說明:base64是編碼,而不是加密。無需密鑰就可以很容易地進行翻轉,因此可以混淆身份驗證信息,並且可以避免其他編碼問題(如HTTP編碼),但不會增強安全性。 – JBCP