在restful服务上实现SSO

本文关键字:实现 SSO 服务 restful | 更新日期: 2023-09-27 18:14:52

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

在阅读了WIF(最初似乎是解决方案,但在VS 2013中已弃用…),OWIN, oAuth, OpenID Connect之后,我完全困惑于实现SSO的最简单方法。

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

理想情况下,该技术应该已经是。net的一部分。

是否有任何代码示例或教程在那里为这个场景?

在restful服务上实现SSO

假设你想从本地客户端消费你的服务,我建议你使用Web API中间件来保护你的服务(这在VS2013中已经通过OWIN中间件支持),并使用ADAL库实现你的客户端。有关ADAL和ADFS的专门文章,请参阅此。有关解决方案的Web API方面的更多详细信息,请参阅此。如果您希望针对各种客户端平台,您可以在这里找到完整的示例集合(用于Azure AD,但易于修改ADFS)。

这可以通过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/

SSO表示它是由Active Directory驱动的,或者直接到IIS机器。配置身份验证而不是web。配置,但也考虑到你提到的"最简单的技术",那么这一定是一个简单的东西,但你可以转化为你真正想要的。

有了这个,我们可以引用基于令牌的web服务身份验证。这是一个我开始并能够转化为其他东西的样本项目。从这里开始,我认为您可以将所有身份验证更改为AD或DB连接,甚至可以跨web服务更改为两者。

http://www.codeproject.com/Articles/9348/Web-Service-Authentication?fid=145460& df = 90, mpp = 25,教授= False& sort = Position&视图= Normal&程控= Relaxed& fr = 26 # xx0xx