Graphdb.js Node.js-使用GraphDB进行节点服务器身份验证

通用汽车

我知道GraphDB本身提供了几种身份验证方式。假设我锁定了对GraphDB服务器的访问,仅允许具有凭据的用户访问它。假设我使用用户名和密码创建了一个授权用户。

我正在使用Node.js,尤其是graphdb.js建立不安全的连接。但是,如何在来自节点服务器和graphdb服务器的通信之间添加身份验证?该文件说:

如果要针对安全服务器使用该库,则必须通过发送带有令牌的http授权标头来验证所有API调用,该标头是在调用rest / login / user_name并使用特定标头提供的密码后获得的。如果服务器要求对请求进行身份验证,则必须在ServerClientConfig和RepositoryClientConfig中配置用于身份验证的用户名和密码。如果提供了这些,则客户端将假定身份验证是强制性的,并且在第一次API调用之前将自动执行使用提供的凭据进行的登录。成功登录后,收到的用户详细信息和auth令牌将存储在AuthenticationService中。从那一刻起,每个API调用都会发送带有令牌作为值的授权标头。如果令牌到期,则第一个API调用将被拒绝,并显示状态为401的http错误。客户端通过使用相同的凭据重新登录用户,更新存储的令牌并重试API调用来自动处理此问题。此行为是默认行为,如果将ServerClientConfig或RepositoryClientConfig配置为keepAlive = false,则可以更改此行为。

那么需要遵循哪些带有示例代码的编码步骤。我还没有看到这样做的例子。有人可以帮忙吗?

因子5

除了@Konstantin Petrov所说的以外,我还提到了使用graphdbjs进行本机身份验证是一项仍在开发中的功能。您可以遵循PR。还将添加示例。在此之前,可以通过发出登录请求并使用响应中返回的授权令牌来解决此问题,以创建一个配置有授权标头和令牌的RDFRepositoryClient实例。下面给出一个例子。

const {RepositoryClientConfig, RDFRepositoryClient} = require('graphdb').repository;
const {RDFMimeType} = require('graphdb').http;
const {SparqlJsonResultParser} = require('graphdb').parser;
const {GetQueryPayload, QueryType} = require('graphdb').query;
const axios = require('axios');

axios.post('http://localhost:7200/rest/login/admin', null, {
    headers: {
        'X-GraphDB-Password': 'root'
    }
}).then(function(token) {
    const readTimeout = 30000;
    const writeTimeout = 30000;
    const repositoryClientConfig = new RepositoryClientConfig(['http://localhost:7200/repositories/testrepo'], {
        'authorization': token.headers.authorization
    }, '', readTimeout, writeTimeout);
    const repositoryClient = new RDFRepositoryClient(repositoryClientConfig);
    repositoryClient.registerParser(new SparqlJsonResultParser());

    const payload = new GetQueryPayload()
        .setQuery('select * where {?s ?p ?o}')
        .setQueryType(QueryType.SELECT)
        .setResponseType(RDFMimeType.SPARQL_RESULTS_JSON)
        .setLimit(100);
    return repositoryClient.query(payload);
})    
.then(function(stream) {
    // here is the query response stream
})
.catch(function(error) {
    console.log('error', error);
});

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在 REST 节点 js 服务器中进行身份验证,使用带有 Facebook 登录的 Android 客户端

来自分类Dev

Graphdb.js node.js一台server.repository通过Rest API连接多个查询

来自分类Dev

身份验证(护照)足以确保Node js后端服务器的安全性?

来自分类Dev

Firebase 3 node.js服务器身份验证会更改吗?

来自分类Dev

Redis,Node.js和Socket.io:跨服务器身份验证和对node.js的了解

来自分类Dev

使用node.js进行api身份验证

来自分类Dev

使用服务帐户进行Google身份验证失败(node.js)

来自分类Dev

带有护照和Nginx作为代理服务器的身份验证问题Node.js

来自分类Dev

如何在不使用JS库的情况下通过Facebook服务器端进行身份验证

来自分类Dev

Node.js RESTFUL服务自建身份验证

来自分类Dev

LTI使用Node.js启动身份验证

来自分类Dev

Node.js-如何使用访问/身份验证令牌?

来自分类Dev

使用Node.js的Windows Azure Pack身份验证

来自分类Dev

使用Node的Passport JS的Facebook身份验证失败

来自分类Dev

node.js:使用请求模块进行表单HTTP身份验证失败

来自分类Dev

如何使用Node.js和MEAN堆栈进行身份验证?

来自分类Dev

在SQL Server 2012中使用node.js进行身份验证

来自分类Dev

尝试使用KeyCloak进行NODE.JS身份验证,获取“无效参数:redirect_uri”

来自分类Dev

在node.js中使用Firebase 3.0进行身份验证

来自分类Dev

使用Node JS中的Keycloak访问令牌对Rest API进行身份验证

来自分类Dev

搜寻需要使用node.js进行身份验证的网站

来自分类Dev

在SQL Server 2012中使用node.js进行身份验证

来自分类Dev

尝试使用KeyCloak进行NODE.JS身份验证,获取“无效参数:redirect_uri”

来自分类Dev

无法使用node.js对移动客户端进行身份验证(使用passport.js)

来自分类Dev

使用Angular.js和iOS客户端对Node.js应用程序进行身份验证

来自分类Dev

使用Node.js的Passport.js身份验证中间件

来自分类Dev

Node.js HTTP服务器

来自分类Dev

Node.js状态服务器

来自分类Dev

如何创建Node JS服务器

Related 相关文章

  1. 1

    在 REST 节点 js 服务器中进行身份验证,使用带有 Facebook 登录的 Android 客户端

  2. 2

    Graphdb.js node.js一台server.repository通过Rest API连接多个查询

  3. 3

    身份验证(护照)足以确保Node js后端服务器的安全性?

  4. 4

    Firebase 3 node.js服务器身份验证会更改吗?

  5. 5

    Redis,Node.js和Socket.io:跨服务器身份验证和对node.js的了解

  6. 6

    使用node.js进行api身份验证

  7. 7

    使用服务帐户进行Google身份验证失败(node.js)

  8. 8

    带有护照和Nginx作为代理服务器的身份验证问题Node.js

  9. 9

    如何在不使用JS库的情况下通过Facebook服务器端进行身份验证

  10. 10

    Node.js RESTFUL服务自建身份验证

  11. 11

    LTI使用Node.js启动身份验证

  12. 12

    Node.js-如何使用访问/身份验证令牌?

  13. 13

    使用Node.js的Windows Azure Pack身份验证

  14. 14

    使用Node的Passport JS的Facebook身份验证失败

  15. 15

    node.js:使用请求模块进行表单HTTP身份验证失败

  16. 16

    如何使用Node.js和MEAN堆栈进行身份验证?

  17. 17

    在SQL Server 2012中使用node.js进行身份验证

  18. 18

    尝试使用KeyCloak进行NODE.JS身份验证,获取“无效参数:redirect_uri”

  19. 19

    在node.js中使用Firebase 3.0进行身份验证

  20. 20

    使用Node JS中的Keycloak访问令牌对Rest API进行身份验证

  21. 21

    搜寻需要使用node.js进行身份验证的网站

  22. 22

    在SQL Server 2012中使用node.js进行身份验证

  23. 23

    尝试使用KeyCloak进行NODE.JS身份验证,获取“无效参数:redirect_uri”

  24. 24

    无法使用node.js对移动客户端进行身份验证(使用passport.js)

  25. 25

    使用Angular.js和iOS客户端对Node.js应用程序进行身份验证

  26. 26

    使用Node.js的Passport.js身份验证中间件

  27. 27

    Node.js HTTP服务器

  28. 28

    Node.js状态服务器

  29. 29

    如何创建Node JS服务器

热门标签

归档