使用身份验证令牌在Node.js中登录和注销

时间:2015-09-13 19:05:33

标签: javascript angularjs node.js authentication

我在Node.js应用程序中工作。它需要登录,注销和注册功能,我在考虑使用token based而不是cookie创建身份验证。这将是工作流程

  1. POST /login发送到服务器以检查用户是否存在
  2. 如果用户存在,我将在JSON对象中发送令牌并将其存储在浏览器本地存储
  3. 现在我想在使用window.location = "/"存储令牌后重定向到主页但是我需要在标题中插入令牌而这是我的问题我发现在角度使用{ {1}}将拦截每个请求并设置其标头。
  4. 如果没有角度,我有什么方法可以做到这一点吗?

1 个答案:

答案 0 :(得分:0)

在使用API​​然后在其前面使用Web应用程序时,这通常是一个很好的概念。

基本上你必须保存你的令牌并在每次请求时发送它(如果你有的话)。

我通常做的是当我执行/login我将令牌存储在浏览器的localStorage中时,您可以使用此库来使用它https://github.com/julien-maurel/jQuery-Storage-API

在localStorage中有令牌后,当您拨打API时,检查是否有localStorage中的令牌,是否有添加标题。

这是一个使用jQuery ajax的例子:

$.ajax({
    url: '/data',
    headers: {
        'Authorization':'Bearer ' + localStorage.get('token')
    },
    method: 'POST',
    dataType: 'json',
    data: {},
    success: function(data){
      console.log('succes: '+data);
    }
  });