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

在 Swagger UI 中创建持有者令牌

后烨煜
2023-03-14

我们有一个基于ASP.NET网络应用编程接口项目。NET Core 2.2,我们通过open id使用不记名令牌进行身份验证。

实际上,我只能使用postman创建一个承载令牌,其中我可以定义一个x-www-form-urlencoded正文,其中包含用户名和密码等授权属性。

我已经在启动类中的 swaggergen 选项中添加了一个安全定义:

options.AddSecurityDefinition("Bearer", 
                        new ApiKeyScheme()
                            {
                                In = "header",
                                Description = "Please insert Bearer JWT token into field. Example: 'Bearer {token}'",
                                Name = "Authorization",
                                Type = "apiKey"
                            });

但我仍然必须通过邮递员创建持有者令牌。如何通过 Swagger UI 创建它?

我试过这个,但它不起作用:

options.AddSecurityDefinition("OpenID Connect", new OAuth2Scheme
                                                                    {
                                                                        Type = "oauth2",
                                                                        Flow = "implicit",
                                                                        AuthorizationUrl = "/connect/authorize"
                    });

...

options.EnableAuthorizationEndpoint("/connect/authorize")
                            .AllowImplicitFlow()

共有1个答案

邓子濯
2023-03-14

您可以实现自定义swagger授权以输入必要的字段以获取无记名令牌并将其存储。您可以看一下这样的东西:http://www.geekswithblogs.net/michelotti/archive/2015/06/26/customize-authentication-header-in-swaggerui-using-swashbuckle.aspx.

如果你想通过swagger创建它,在你的解决方案中添加一个定制的endpoint,如果你想这样的话,它只能在开发环境中工作。

 类似资料:
  • 我注意到惯例是在字段授权下的标题中发送一个JWT。标准是这样发送令牌: 我的问题是为什么我需要把不记名部分为什么不干脆: 当我收到第一个请求时,我需要在验证我的 JWT 时解析每个请求以摆脱持有者。这有什么意义呢?

  • 我正在尝试获取通过角度发送到 php 的授权令牌。我的角度拦截器如下所示 现在如何在php中获取令牌?我试着遵循这个问题的答案。但这也没用。以下是使用上面答案中的代码时的输出。

  • 这可能是一个愚蠢或幼稚的问题,但是:OAuth2无记名令牌签名了吗? 换句话说:消费者能够验证不记名令牌是否是由特定的授权服务器发布的吗?

  • 如何在 Hangfire 中配置持有者令牌授权/身份验证? 我有一个自定义身份验证过滤器,它读取初始请求的身份验证令牌,但它返回401的所有其他请求(Hangfire调用)。 如何将身份令牌附加到HangFire执行的每个请求的标头中? 令牌过期后如何刷新?

  • SwaggerUI 汉化版;修改了部分样式;结合SpringFox SpringFox-Swagger-UI实现API管理

  • 我需要在使用Jmeter登录后获取持有者令牌,并希望在其他请求中使用该令牌。我尝试通过传递用户名和密码以及其他查询字符串参数,如屏幕截图所示,但它不起作用。它给出了以下回应 [线程名称:线程组 1-1 示例 开始:2021-05-11 16:05:11 IST 加载时间:2190 连接时间:1550 延迟:2190 以字节为单位的大小:160 发送的字节数:975 标头大小(以字节为单位):155