0

我打算做的是,我想做的是创建一个基于声明的身份验证。但是我使用了一个公共的身份验证提供程序,例如 LIVE 连接 API。所以它只返回基于 OAuth 的数据给我。

考虑到我是服务器端,我只想

1 使用 OAuth 获取数据。
2 将其转换为索赔。
3 将当前委托人设置为我创建的声明。

我需要创建 STS 吗?我可以使用这些声明实现 SSO 吗?

4

2 回答 2

1

当您希望将身份验证逻辑与业务逻辑分离时,您可以创建安全令牌服务 (STS),使其作为两个独立的服务/应用程序工作,其中一个正在发布安全令牌,另一个(或多个)正在消耗它们。

对我来说,您似乎应该实现自己的 ClaimsAuthenticationManager 将 OAuth 接收到的所有数据(它正在为您进行身份验证)转换为声明,使用它生成 ClaimsPrincipal 并向其添加您自己的业务逻辑声明 => 设置生成校长成为您当前的校长。

根据您为 OAuth 使用的库,其中一些会为您创建初始声明主体,然后您可以使用 ClaimsAuthenticationManager 并将其转换为您自己的声明主体。

有关它的更多参考,请查看 www.leastprivillege.com,Dominick 有一系列关于 OAuth 和基于声明的身份验证的精彩文章。

于 2013-03-21T06:42:32.987 回答
1

看看here他实际实现它的地方。

或者这里展示了如何使用 Azure ACS 进行操作。

于 2013-03-21T18:27:01.120 回答