我想用令牌保护一个 asp.net web api 服务。现在我知道您通常会实现 STS 服务器,但我不想这样做,所以我的其他选择是什么。
我正在考虑让控制器不受保护,客户端可以调用传入用户名和密码,这将返回一个令牌,然后该令牌将用于并且需要调用服务上的其他控制器,这些控制器将受到保护。
所以这带来了一些问题,使用 DelegatingHandler 与 AuthorizeAttribute。上面的选项必须是一个 authorizeAttribute 因为我需要让控制器不受保护,以便客户端调用身份验证。我不知道如何使用委托处理程序从技术上保护整个服务,而不是让 1 个控制器不受保护。
我看到的另一个选项是提供另一个服务以允许客户端进行身份验证并获取令牌,然后我可以使用委托处理程序锁定我的第二个服务。
让我们想象一下,我走的是 STS 路由,我仍然需要提供某种方式客户端可以联系“OPEN”服务/控制器,该服务/控制器反过来会调用 STS 以获取令牌。
所以考虑到这一点,另一项服务是我最好的选择吗?