Jwt 如何使用basic auth asp.net从邮递员处发送和获取用户名和密码参数以进行编码

Jwt 如何使用basic auth asp.net从邮递员处发送和获取用户名和密码参数以进行编码,jwt,postman,asp.net-core-webapi,express-jwt,Jwt,Postman,Asp.net Core Webapi,Express Jwt,我正在尝试制作api 这是我获取授权令牌的登录名 public IActionResult Login(string Username,string Password) { if (ModelState.IsValid) { string user = GetAuth(Username, Password); if (user == null) {

我正在尝试制作api

这是我获取授权令牌的登录名

  public IActionResult Login(string Username,string Password)
    {
        if (ModelState.IsValid)
        {
            string user = GetAuth(Username, Password);
            if (user == null)
            {
                return Unauthorized();
            }

            var claims = new[]
            {
        new System.Security.Claims.Claim(JwtRegisteredClaimNames.Sub, Username),
        new System.Security.Claims.Claim(JwtRegisteredClaimNames.Jti, Guid.NewGuid().ToString())
    };

            var token = new System.IdentityModel.Tokens.Jwt.JwtSecurityToken
            (
                issuer: "" ,
                audience: "",//appsettings.json içerisinde bulunan audince değeri
                claims: claims,
                expires: DateTime.UtcNow.AddDays(30), // 30 gün geçerli olacak
                notBefore: DateTime.UtcNow,
                signingCredentials: new Microsoft.IdentityModel.Tokens.SigningCredentials(new Microsoft.IdentityModel.Tokens.SymmetricSecurityKey(System.Text.Encoding.UTF8.GetBytes("aaa wssadsa adsad sa  rasd as")),//appsettings.json içerisinde bulunan signingkey değeri
                        Microsoft.IdentityModel.Tokens.SecurityAlgorithms.HmacSha256)
            ) ;
            Microsoft.IdentityModel.Logging.IdentityModelEventSource.ShowPII = true;

            return Ok(new { token = new System.IdentityModel.Tokens.Jwt.JwtSecurityTokenHandler().WriteToken(token) });
        }
        else
        {
            return BadRequest();
        }

    }
现在我想用postman测试一下,在授权选项卡的postman界面中,我输入用户名和密码,然后点击send buton,它调用我的函数,但用户名和密码为空

我犯了什么错


您在这里混合和匹配概念。基本身份验证不仅仅意味着“使用用户名和密码”;它是一种特殊的身份验证方案,是授权令牌。例如,正如您可以通过发送头(如
Authorization:Bearer{token}
)来使用auth令牌授权API调用一样,您也可以通过
Authorization:Basic{base64 encode user:pass}
进行授权


你在这里做的是登录。换句话说,您可以先执行此操作以返回auth令牌,该令牌随后将通过
Authorization:Bearer{token}
传递。在这里,用户名和密码值需要来自请求正文,而不是
授权
标题。

我不想使用查询字符串…而不是mysite.com/login?username=…xxxx这我只想调用mysite.com/login我该怎么做?发帖子并将凭据包含在请求正文中,就像我说的,你有解决办法吗?同样的要求