我正在开发一个内部测试框架,其中一个要求是能够分配可在测试中使用的资源(例如,分配将用作测试一部分的物理PC)。此资源上运行了 WCF 服务,测试使用代理与它进行对话。
作为框架的一部分,我想添加一定级别的授权,在分配资源之后,会检索令牌并将其呈现给资源上运行的服务,并且必须由资源的服务进行验证。
我们为此提出了两个主要选项:
1。 * 联合安全 * - 与资源对话的代理从安全令牌服务获取令牌,并将其呈现给资源验证它的服务。这似乎是最干净的解决方案,但主要问题是在设备发布后撤销令牌。一种选择是令牌具有几分钟的超时,最坏的情况是资源在几分钟内未被使用 - 但这不太理想。
2. * 在每次调用中使用令牌服务进行验证 * - 在此解决方案中,资源服务使用令牌服务来验证令牌(而不仅仅是验证令牌)本身使用解决方案#1中的公钥。这解决了撤销问题,但是对于每次调用,使用其他服务验证它似乎需要大量的开销。
你们都在想什么?哪个选项更好?是否有选项3(4,5等)? 谢谢!