在宁静的服务上实施SSO

时间:2015-09-28 22:54:27

标签: c# rest single-sign-on owin claims-based-identity

我们有很多客户希望我们开始使用他们的ADFS,允许他们的用户使用单点登录进入我们的网络应用程序。

在阅读WIF(最初似乎是解决方案,但在VS 2013中已被弃用......),OWIN,oAuth,OpenID Connect之后,我对实施SSO的最简单方法感到困惑

用C#编写的现有 VS 2013 json restful服务实现SSO的最佳和最简单的技术是什么?

理想情况下,该技术已经成为.NET的一部分。

这种情况是否有任何代码示例或教程?

3 个答案:

答案 0 :(得分:1)

假设您要从本机客户端使用您的服务,我建议您使用Web API中间件(已通过VS2013中的OWIN中间件支持)保护您的服务,并使用ADAL库实现您的客户端。有关专门针对ADAL和ADFS的帖子,请参阅this。有关解决方案的Web API方面的更多详细信息,请参阅this。如果要定位各种客户端平台,可以找到完整的示例集合(适用于Azure AD,但很容易针对ADFS进行修改)here

答案 1 :(得分:1)

这可以通过WSO2 IS作为ADFS中的依赖方来实现。当我们实施此设置时,结果/收入声明将成为用户配置文件加载到WSO2IS进行身份验证的主要来源,并将SAML响应传递给SP(应用程序的结束URL)。

请参阅以下链接,将WSO2 IS配置为ADFS和WSO2 IS配置的依赖方。

https://omindu.wordpress.com/2015/06/19/setting-ad-fs-3-0-as-federated-authenticator-in-wso2-identity-server/

答案 2 :(得分:0)

SSO意味着它的Active Directory驱动,或直接到IIS machine.config身份验证而不是web.config,但也考虑到你提到的“最简单的技术”,那么这必须是一个简单但你需要的东西可以转化为你真正想要的东西。

有了这个,我们可以参考基于令牌的Web服务身份验证。 这是一个示例项目,我从该项目开始并能够转换为其他项目。从这里开始,我认为您可以将所有身份验证更改为AD或DB连接,甚至可以在您的Web服务中更改。

http://www.codeproject.com/Articles/9348/Web-Service-Authentication?fid=145460&df=90&mpp=25&prof=False&sort=Position&view=Normal&spc=Relaxed&fr=26#xx0xx

希望这会有所帮助。