NodeJS Loopback 4将承载令牌配置添加到swagger资源管理器 [英] Nodejs Loopback 4 add bearer token config into swagger explorer

查看:17
本文介绍了NodeJS Loopback 4将承载令牌配置添加到swagger资源管理器的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我使用NodeJS loopback 4构建API项目,并使用JWT令牌进行身份验证组件。但是,当我探索内置的环回(默认情况下是本地主机:3000/Explorer),然后导航到我的一个API url时,没有JWT承载令牌的输入位置。如何配置让Swagger显示JWT令牌输入(就像它显示参数查询、请求正文输入一样……) 提前感谢

推荐答案

来自环回团队👋的问候

一般情况下,身份验证,特别是基于令牌的身份验证,是我们目前正在研究的内容。

loopback-next#2210中讨论了从API Explorer启用令牌输入的问题。为我们的rest API浏览器提供支持的Swagger-UI模块确实支持基于令牌的身份验证。它要求描述应用程序API的OpenAPI规范文档也描述应用程序使用的身份验证(安全)模式。

因此,实质上,框架或应用程序需要修改OpenAPI规范以包括OpenAPI的SecuritySchemeObject

首先,必须在所有端点共享的securityDefinitions部分中定义安全策略:

securityDefinitions:
  petstore_auth:
    type: "oauth2"
    authorizationUrl: "http://petstore.swagger.io/oauth/dialog"
    flow: "implicit"
    scopes:
      write:pets: "modify pets in your account"
      read:pets: "read your pets"
  api_key:
    type: "apiKey"
    name: "api_key"
    in: "header"

上面的示例使用"OAuth2"类型。对于JWT,需要使用"apiKey"类型。

定义了安全类型后,您可以从终结点定义引用它:

      security:
      - petstore_auth:
        - "write:pets"
        - "read:pets"

以下GitHub问题正在跟踪启用 我们的REST API浏览器中基于令牌的身份验证:loopback-next#2027。请随时订阅通知或加入那里的讨论。

您可能还会对以下拉取请求感兴趣,它将向我们的购物示例应用程序添加对JWT身份验证的支持:loopback4-example-shopping#26

这篇关于NodeJS Loopback 4将承载令牌配置添加到swagger资源管理器的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆