1

我在登录控制器中实现了卫星化。但是,自动登录呢?什么是最佳实践?

对 auth 的调用现在在 LoginCtrl 中:

$auth.login(credentials)
    .then(function(data) {
        //Save username and userid in local storage
        if(data.data !== undefined && data.data.user_name !== undefined &&     data.data.user_id !== undefined){
            window.localStorage['user_name'] = data.data.user_name;
            window.localStorage['user_id'] = data.data.user_id;
        }
        //Save email and password in local storage for autologin
        window.localStorage['user_email'] = credentials.email;
        window.localStorage['user_password'] = credentials.password;
        $state.go('home', {});
    })
    .catch(function(response) {
        alert("error");
    });

当用户在另一个页面上时,如果令牌已过期,他将无法访问需要身份验证的页面。我不想让他再次登录。因此,在每个其他控制器中,如果对某些受保护资源的请求失败,我的想法是自动登录他。所以我把 auth.login 放在所有这些控制器中。这看起来是一个糟糕的选择。

我应该怎么办?创建服务?登录和自动登录?这是最佳实践吗?

4

0 回答 0