【问题标题】:authentication using passport jwt使用护照 jwt 进行身份验证
【发布时间】:2016-10-02 18:06:34
【问题描述】:

我是基于令牌的身份验证的新手。 我想将用户限制在我网站上的特定页面(检查他的身份验证),并看到 jwt 是实现它的最佳方式,并在此处遵循教程:https://devdactic.com/restful-api-user-authentication-2/,但我如何限制用户访问页面(问他登录)?在这里,作者说他使用了AuthInterceptor 来检查身份验证部分。但我对身份验证拦截器感到困惑。谁能解释一下我该如何限制用户(比如代码的限制部分是服务器端还是客户端,如果是服务器端,我可以在node.js有代码参考吗)?

【问题讨论】:

    标签: angularjs passport.js jwt restful-authentication express-jwt


    【解决方案1】:

    我在每次从我的服务器请求数据时附加一个 JWT。代码如下所示:

        return {
          request: function(config) {
            var jwt;
            if(isApiRequest(config.url)) {
              config.url = baseUrl + '/api/v1/' + config.url;
              jwt = store.get(JWT);
              if(jwt)
                config.headers.Authorization = "Bearer "+jwt;
            }
            return config;
          }
        };
    

    但是,您要做的是确定用户是否有 JWT(以及一个有效的 JWT - 这将由服务器验证),如果有,他们可以访问某些页面。

    我想说这可以通过监视$stateChange 事件来完成:

    $rootScope.$on('$stateChangeStart', function(evt, toState, toParams, fromState, fromParams) {
         var jwt = store.get('JWT');          
         if(!jwt)
           $state.go('go-back-to-login-view');
        }); 
    

    【讨论】:

    猜你喜欢
    • 2020-04-20
    • 1970-01-01
    • 2018-11-24
    • 2016-04-07
    • 2015-09-06
    • 2017-01-02
    • 2014-08-18
    • 2023-03-27
    • 2021-05-29
    相关资源
    最近更新 更多