【问题标题】:API with JWT trying to authenticate without OWIN带有 JWT 的 API 尝试在没有 OWIN 的情况下进行身份验证
【发布时间】:2021-06-25 13:59:29
【问题描述】:

嗨,所以我对这一切都是新手,所以如果这是一个愚蠢的问题,请告诉我。到目前为止,我已经弄清楚了如何生成 JWT 并对其进行验证(在学习时创建了一个小程序)。我还学习了如何创建一个 web api(再次创建了一个查询数据库并在邮递员中显示的小程序)。我想要完成的是我们想要创建 api,以便我们的客户可以创建自己的站点/应用程序。我们正在使用 JWT,所以我将如何告诉我的所有控制器首先关闭并验证 url 中的 JWT。它也将使用被加密的声明进行 base64 编码。但是我知道我需要做什么,因为我一直在玩。我的问题是我如何告诉将要首先启动并验证令牌的许多控制器之一。我在网上查了一下,似乎很多人都在使用 OWIn,而我并没有那么奢侈。

谢谢

【问题讨论】:

  • 这至少是基于 ASP.Net 的东西?
  • 嗨,是的,对不起,我使用的是 .net
  • ASP.NET? .net 是显而易见的部分。
  • 对不起,这可能是我不理解,但这是一个 web api。理论上不会有 asp.net,因为这一切都将在 c# 中完成。但是我假设你的意思是 asp.net 身份。到目前为止,我们有一个 base64 代码,它将在 url 中传递给 api。在那里,我们将检查以确保 base64 代码是否是有效的 JWT。如果是这样,请继续做任何电话。这是我感到困惑的部分。那么如果是asp.net会有什么不同呢?
  • ASP.Net 为您提供了一个子系统,告诉您在哪里添加身份验证/授权。并且有关于如何做到这一点的文档(Web API 也是 ASP.Net 框架的一部分,主要是一个特定的控制器基类)。我们(我)对你所拥有的一无所知。我们拥有的一件事是您不想使用 Owin。没有什么是我们可以处理的。在常见情况下,这可以通过实现中间件、处理程序(取决于 ASP.Net 核心的风格与框架略有不同)或将正确的属性放在控制器中的正确位置来解决

标签: c# api web jwt


【解决方案1】:

因此,如果有人感兴趣(可能不是从缺乏响应来判断),那么属性和使用授权过滤器似乎可以解决问题,而且无论如何都要进行测试。

【讨论】:

  • 这是因为问题只是一个没有代码或格式的长段落。但是是的,授权用于 bearsr 令牌,并且刷新令牌将作为发布请求正文参数发送
  • 您好,感谢尼克提供的信息。下次我问问题时适当地注明。
猜你喜欢
  • 1970-01-01
  • 2020-05-12
  • 1970-01-01
  • 1970-01-01
  • 2021-04-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-04-19
相关资源
最近更新 更多