【问题标题】:How to return JWT Auth decrypted Token in web api?如何在 Web api 中返回 JWT Auth 解密令牌?
【发布时间】:2021-08-13 09:20:12
【问题描述】:
[HttpPost]
[Route("~/decrypt/token")]
public string TestJwtSecurityTokenHandler([FromBody] string token)
{
    var handler = new JwtSecurityTokenHandler();
    var jsonToken = handler.ReadToken(token);
}

这是我的示例 post 方法,用于解码从 From Body 获取的 Token。我需要对此进行解码并返回一个解码后的值。

【问题讨论】:

  • JWT 未加密,因此无法解密。 JWT are encoded,所以你应该可以通过Convert.FromBase64String(token)解码它。
  • 是的,但是我将如何在上面的代码中返回?
  • 如果您需要返回一个字符串,那么您可以使用return Ok(string) 并将您的返回类型更改为 IActionResult。
  • [HttpPost] [Route("~/decrypt/token")] public string TestJwtSecurityTokenHandler([FromBody] string token) { var handler = new JwtSecurityTokenHandler(); var jsonToken = handler.ReadToken(token);返回确定(jsonToken); } 不工作:/

标签: c# asp.net-mvc api asp.net-web-api


【解决方案1】:

就像 Erik Philips 所说,您必须将返回类型更改为 IActionResult。

[HttpPost]
[Route("~/decrypt/token")]
public ActionResult<string> TestJwtSecurityTokenHandler([FromBody] string token) 
{
    var handler = new JwtSecurityTokenHandler();
    var jsonToken = handler.ReadToken(token);

    return jsonToken;
}

【讨论】:

    猜你喜欢
    • 2015-01-02
    • 1970-01-01
    • 2017-04-16
    • 2021-11-04
    • 2019-12-25
    • 1970-01-01
    • 2020-05-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多