在 restful 服务上实施 SSO

Implementing SSO on restful service

我们有一大群客户希望我们开始使用他们的 ADFS 以允许他们的用户使用单点登录进入我们的 Web 应用程序。

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

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

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

是否有适用于此场景的任何代码示例或教程?

假设您想从本机客户端使用您的服务,我建议您使用 Web API 中间件(已经通过 VS2013 中的 OWIN 中间件支持)保护您的服务,并使用阿达尔图书馆。有关专门针对 ADAL 和 ADFS 的 post,请参阅 this. For more details on the Web API side of the solution, see this. If you want to target a variety of client platforms, you can find a complete collection of samples (for Azure AD, but easy to modify for ADFS) here

这可以通过 WSO2 IS 作为 ADFS 中的依赖方来实现。当我们实施此设置时,outcome/Income 声明将是用户配置文件加载到 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/

SSO 意味着它的 Active Directory 驱动,或直接到 IIS machine.config 身份验证而不是 web.config,而且考虑到您提到的 "simplest technology",那么这必须是呼吁一些简单的东西,但你可以变成你真正想要的东西。

有了这个,我们可以参考基于令牌的网络服务认证。 这是我开始并能够转换成其他东西的示例项目。从这里我认为您可以将所有身份验证更改为 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

希望这会有所帮助。