【发布时间】: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 核心的风格与框架略有不同)或将正确的属性放在控制器中的正确位置来解决