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はここから来る暗号化サービスです)
問題: ユーザーがすでにログインしているときに新しいタブを開くか、ページをリロードすると、再度ログインする必要があります。
ユーザーがページをリロードしたり、外部リンクからアクセスした場合に、それを回避してセッションを開いたままにしておくにはどうすればよいでしょうか?