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

如何在Swagger中使用用户名和密码为. NET Web API生成无记名令牌

殳宸
2023-03-14

我正在研究.NET CORE 5 Web API解决方案,并已配置Azure Active Directory进行身份验证。我大摇大摆,我需要配置用户名和密码来生成持有者令牌,然后进行身份验证。我已经实现了以下代码,但没有提示我大摇大摆地输入用户名和密码进行身份验证?

 services.AddSwaggerGen(c =>
        {
            c.SwaggerDoc("v2", new OpenApiInfo { Title = "APIs", Version = "v2" });
            c.AddSecurityDefinition("Bearer", new OpenApiSecurityScheme
            {
                Description = "JWT Authorization Header Using The Bearer Schema",
                Name = "Authorization",
                In = ParameterLocation.Header,
                Type = SecuritySchemeType.ApiKey
            });
            c.AddSecurityRequirement(new OpenApiSecurityRequirement
            {
                {new OpenApiSecurityScheme{Reference = new OpenApiReference
                {
                    Id = "Bearer",
                    Type = ReferenceType.SecurityScheme
                }}, new List<string>()}
            });
        });

招摇

“Web API 终结点”

[Authorize]
[ApiController]
[ApiVersion("2.0")]
[Route("v{version:apiVersion}/[controller]")]
public class SiteController : ControllerBase
{

 [HttpGet("GetSecureMessage")]
 public ActionResult<TestMessage> GetSecureMessage()
 {
        var result = new TestMessage()
        {
            GivenName = "Kim",
            ReturnMessage = "Site@ Hello, Welcome to Digital World"
        };

        return result;
    }

我想在招摇提供用户名和密码!

共有1个答案

艾志尚
2023-03-14

谢谢你,海伦的评论。制作它是帮助其他社区成员的答案。

您正在寻找的上述解决方案目前不受支持。您必须手动授权并手动粘贴 apiKey JWT 令牌。

从下图中可以看出,您必须以JSON格式手动传递用户名和密码。不会提示输入用户名和密码。

参考:https://ppolyzos.com/2017/10/30/add-jwt-bearer-authorization-to-swagger-and-asp-net-core/

 类似资料:
  • 问题内容: 当我转到mydomain.com:8080时,默认情况下没有授权机制。我看过配置区域,但是找不到任何地方来添加基本的用户名和密码 问题答案: 转到 管理Jenkins >配置全局安全性,_然后选择 _启用安全性 复选框。 对于基本的用户名/密码认证,我会建议选择 詹金斯自己的用户数据库 在安全领域,然后选择 登录用户可以做任何事情 的或基于矩阵策略(在当你有多个用户以不同的权限的情况下

  • 我想在Git扩展,Sourcetree或任何其他Git GUI中使用自动推拉,而无需在提示中输入用户名和密码,每次。 那么,如何在Git中保存凭据?

  • 我是jenkins的新手,我正在尝试使用凭据插件在dsl中使用凭据 样板xml 我已将jenkins中的凭据定义为带有密码的用户名。上述加密值保存在anable中。 我的问题是我应该如何在dsl中调用它们 错误: 22:11:16致命:凭据“PROD”的类型为“Username with password”,其中“org”。詹金西。插件。普通凭据。应为StringCredentials

  • 我正在尝试从RESTAPI获取数据,他们还没有完全实现OAuth。他们只使用OAuth在您已经拥有访问令牌后使用的签名方法。我已获得消费者密钥 你能建议怎么做吗?

  • 问题内容: 如何通过以下链接自动填写用户名和密码: 之后,我真的不知道: 问题答案: 代码注释: :大写不匹配任何内容。 用于对Select元素执行操作(https://developer.mozilla.org/en-US/docs/Web/HTML/Element/select)

  • 我最近才开始使用firebase工作,我似乎不知道如何让用户用电子邮件、用户名和密码注册,这样以后用户就可以只用用户名和密码登录,我可以用电子邮件和密码登录,但我不知道如何用用户名和密码登录,简单的解释是赞赏的,因为我是新的,谢谢!