我们目前正在考虑实施我们自己的 STS (Microsoft WIF) 来验证我们的用户,在这个过程中,我们提出了一些我们无法回答的问题。
我们有不同类型的用户,使用不同类型的应用程序。每种类型的用户都需要一些特殊类型的声明,这些声明只与该类型的用户和应用所属的应用程序相关。请注意,我们不会控制所有客户端。
假设所有用户都使用简单的 https 使用用户名和密码 (.NET MVC3) 进行授权。用户由其类型、用户名和密码(不仅仅是用户名和密码)唯一标识。所以我需要为每种用户类型创建一个端点,以便能够区分它们。当用户授权时,我将发出一个令牌,其中包含代表用户类型的声明。有没有更简单的方法来做到这一点?我可以为每种用户类型避免一个端点(目前有三个)吗?
然后,我的令牌服务可以检查授权用户的令牌并转换声明,发出一个包含所有用户类型特定声明的令牌。到目前为止一切顺利,除了我认为的多个端点?
如果我需要多个端点,我是否也应该公开不同的元数据文档,每个端点一个?拥有一个包含所有声明描述的大型元数据文档没有任何意义,因为没有应用程序需要所有声明。
更新
一些澄清。
某些应用程序仅由某些类型的用户使用。多个用户类型不能使用一个应用程序。
根据请求来自的应用程序类型,需要针对该用户类型比较用户名和密码。每种类型的应用程序都有用户存储。这就是为什么我需要知道请求来自什么应用程序类型。我无法仅通过用户名和密码来解析类型。