【问题标题】:Can I use both of Basic and Bearer in Authorization header?我可以在 Authorization 标头中同时使用 Basic 和 Bearer 吗?
【发布时间】:2020-06-10 04:21:50
【问题描述】:

我为 API 授权实现了 JWT 令牌。每个需要授权的请求都在 Authorization 标头中使用 JWT 令牌发送,如下所示:Authorization: Bearer <token>。 除了登录请求之外,我对 JWT 令牌的一切都很清楚。

我只想在登录请求中使用Authorization: Basic <credentials>。我想以纯文本形式发送用户名和密码似乎不太好。但我不确定。

是否可以在登录请求中使用Basic <credentials>,然后在其他请求中使用Bearer <token>

【问题讨论】:

    标签: http authentication jwt authorization rfc


    【解决方案1】:

    早上好。最佳实践是创建一个方法并使用 POST 调用来调用它。将登录凭据作为对象传递给 post 方法。登录方法应返回 JWT 令牌。收到 JWT 令牌后,请使用 bearer XXXXXXXX

    例子:

    [AllowAnonymous]
    [HttpPost]
    public IActionResult CreateToken([FromBody]LoginModel login)
    {
        // Your logic to Authenticate and Generate the JWT TOKEN.
          return response;
    }
    

    【讨论】:

    • 感谢您的回答。我已经知道许多示例使用使用POST 调用发送登录凭据的方法。我只是想知道为什么您在发送登录凭据时不使用Basic
    • 如果不考虑一些安全项目,使用基本身份验证可能风险不大。下面参考链接中的答案。 security.stackexchange.com/questions/988/…
    猜你喜欢
    • 2017-11-26
    • 1970-01-01
    • 2020-10-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-04-29
    • 2019-12-31
    • 1970-01-01
    相关资源
    最近更新 更多