授权如何在nodejs上工作?

时间:2018-07-20 08:42:45

标签: javascript node.js header authorization jwt

我试图了解设置数据标题后的授权工作方式。成功登录后,我正在使用通行证和jwt对用户进行身份验证并设置授权标头。

res.setHeader('authorization', 'JWT ' + token);
console.log(res.getHeader('authorization'));
// prints JWT eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MSwidXNlcl9wYXNzd29yZCI6IiQyeSQxMiR1VUh3czBoeXVYSFhjWTFXWFd2L21ldlNZUFBZcm4xLjdmdEwxb1RSN29mQmxDMEpERE5uLiIsInVzZXJfyMDc1NzM1LCJleHAiOjE1MzQ2Njc3MzV9.F4j6eXpbhPLsLOAixwyNT6PLOUhna1C6CA4iIVbidXsbmFtZSI6ImFkbWluIiwiaWF0IjoxNTM

例如,在我的主路由器上,应该只允许已登录的用户进入,我不能捕获此标头吗?设置此标头后,它似乎仅在重新加载页面之前有效。我做了previous question about it,但不够具体。

我开始考虑护照成功认证后授权的工作方式以及如何设置标题或cookie或其他内容?

1 个答案:

答案 0 :(得分:0)

您需要的是为您的http请求创建一个拦截器,您将在其中插入用于设置每个响应的标头的规则

var http = require('http');

http.Interceptor.register({
    test: {
        uri: '/me/friends',
        host: 'graph.facebook.com'
    },
  rule: {
    response: {
       headers: {
          'Set-Cookie': 'AuthSessId=41D3D0110BA61CB171B345F147C089BD; path=/',
          'Content-Type': 'application/json'
       }
    uri: /^\/dialog\/oauth/,
    host: 'www.facebook.com'

});

您可以使用此npm软件包,并遵循文档中的内容 请访问https://www.npmjs.com/package/node-interceptor