最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

如何从API后端到我自己的另一个API后端的身份验证请求吗?

运维笔记admin10浏览0评论

如何从API后端到我自己的另一个API后端的身份验证请求吗?

如何从API后端到我自己的另一个API后端的身份验证请求吗?

我想提出两个API之间的简单认证请求的每个单独的服务器上,我知道如何使用JSON-Web的令牌或会话进行认证,从前端至后端调用,这是通过将它们存储在浏览器中完成,但我怎么可以让我自己独立的后端服务器,认证之间的认证,从API到另一个API?

我已经试过了,用智威汤逊 - 简单的图书馆,并检查是否解码是有效的,然后我完成的过程中,如果没有的话,我拒绝了,但我不想这样做的,我试过护照文档,但所有我能找到的是它们描述存储在浏览器验证,因为我试图使用读取从我的后端API到我自己的另一个API请求,这不会成为我试图达到的目的这里 ?

回答如下:

我不明白的问题

在开始的时候,你必须回答这个问题:你想干什么?您有几种选择:

  1. 授权完全无需用户的参与:你知道如何从服务器A的用户从服务器B连接到用户,只有服务器进行验证,并说我科瓦尔斯基(如:用于产生JWT的另一种方法)
  2. 授权与密码:服务器A要求用户输入登录名+密码,然后使用该数据服务器B.
  3. 服务器A发送回该用户被授权在服务器B和转发的数据返回到服务器A.(例如:的OAuth2)

编辑:

添加1.假设你使用授权JWT,你知道如何产生的第二个服务器,因此:

服务器A知道如何生成JWT的服务器B和做的。

您应该使用一个库,使您可以执行HTTP请求,或者更好地利用从谷歌REST client一个node-rest-client,如1的结果。

在一个非常类似的方式,在前端的客户端,你建立一个查询并发送。

const getServerBTokenForUser = function(userData) {
    return 'Generated JWT token';
}
const Client = require('node-rest-client').Client;

// direct way
let client = new Client();

var args = {
    path: { "id": 120, "arg1": "hello", "arg2": "world" },  
    headers: {'Authorization': 'Bearer '+getServerBTokenForUser(userData) }
};

client.get("http://remote.site/rest/json/${id}/method?arg1=${arg1}&arg2=${arg2}", args,
    function (data, response) {
        // parsed response body as js object
        console.log(data);
        // raw response
        console.log(response);
    });

这是最快的,但不是最好的方法,因为它创造了严格的依赖关系。这是更好地在服务器B,其中其他服务器将被授权(第二授权方法,例如IP或加密的数据)添加的方法,将获得JWT为指定的用户。

发布评论

评论列表(0)

  1. 暂无评论