【问题标题】:how authorization works on nodejs?授权如何在 nodejs 上工作?
【发布时间】:2018-12-28 12:42:37
【问题描述】:

我试图了解在设置带有数据的标头后授权是如何工作的。我正在使用护照和 jwt 来验证用户并在成功登录尝试后设置授权标头。

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

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

我开始思考授权是如何工作的,以及在护照身份验证成功后如何设置标头或 cookie 之类的东西?

【问题讨论】:

    标签: javascript node.js header authorization jwt


    【解决方案1】:

    您需要为您的 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

    【讨论】:

      猜你喜欢
      • 2015-08-08
      • 2018-04-04
      • 2023-04-09
      • 1970-01-01
      • 1970-01-01
      • 2010-11-23
      • 2023-03-24
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多