当前位置: 首页 > 知识库问答 >
问题:

如何使用apiKey进行身份验证?

何安宜
2023-03-14

我有一个节点项目

我试过的密码-

var swaggerOptions = {
  apiVersion: '2.0',
  auth: 'apiKey',
  authorizations: {
    apiKey : {
      type: 'apiKey',
      passAs: 'query',
      keyname: 'secret_password'
    }
  }
}

var server = new Hapi.Server()
server.connection({port: 5000})

server.route(<router>) //router contains all the routes

const scheme = function (server, options) {
  return {
    authenticate: function (request, reply) {
      if (request.query['secret_password'] !== 'XXX') {
        return reply(Boom.unauthorized('credentials failed'))
      }
      return reply.continue({credentials: {user: 'developer'}})
    }
  }
}
server.auth.scheme('custom', scheme)

server.register([inert, vision, {register:hapiSwagger, options:swaggerOptions}], function (err) {
      server.auth.strategy('apiKey', 'custom')
      server.start(callback)
    })

运行此命令时,当secret_password错误时,它会正确显示,但当它正确时,它只显示一个单词swagger,表示swagger。io链接。

我搜索了一下,但是没有得到任何关于这个的信息或者例子。我错过了什么吗?

共有1个答案

乐正心思
2023-03-14

v3.0.0-rc1中的身份验证存在一个已知问题。此版本是正在开发的新版本的早期候选版本。如果您返回到最新的稳定版本v2.2.3,身份验证应该可以工作。

 类似资料:
  • 假设我们有以下部分的web安全配置:

  • 我正在尝试使用urllib3连接到网页。代码如下所示。 如果我们假设url是需要使用用户名和密码进行身份验证的某个网页,那么我是否使用正确的代码进行身份验证? 我使用urllib2做这件事很舒服,但使用urllib3做不到同样的事情。 非常感谢

  • jwt不应该仅仅用于认证用户吗?我读到过可以在里面存储非敏感的东西,比如用户ID。将权限级别之类的东西存储在令牌中可以吗?这样我可以避免数据库调用。

  • 问题内容: 我已经通过使用nodejs + express制作了简单的nodejs应用程序。现在,我要进行用户身份验证。我想通过使用猫鼬来实现会话处理。你能举个例子吗? 问题答案: 一些有用的链接: 如何在node.js中实现登录身份验证 在node.js和mongodb中创建注册和登录表单 另外,会话管理不是由Mongoose完成,而是由connect-mongodb或connect- redi

  • 我已经实现了Spring社会Spring安全,如Spring安全示例(以及Spring安全java配置)中所述。我当时报告了几个问题(请参阅 https://jira.springsource.org/browse/SEC-2204),所有这些问题都已解决,并且我的安全性工作正常。 但是,我想更改我的安全实现并使用RESTful身份验证。Spring oauth/oauth2(http://pro

  • 问题内容: 我可以通过接收到请求的xml 但不是 没有JavaScript错误,没有跨域策略问题。可能是语法错误,但是我找不到合适的教程。有什么建议吗? 问题答案: 我认为您需要纯格式: