2014-01-13 116 views
6

我有一个使用Thinktecture Identity Server的声明感知MVC网站设置。我现在有要求允许第三方访问网站的某些部分。向ASP.NET MVC网站发布SAML令牌

是否可以用身份服务器以编程方式进行身份验证并将其发布到网站,以便第三方的用户不需要手动执行正常的登录过程?

我以前使用过身份服务器来获取SAML令牌以进行WCF调用,我想知道是否有可能重新使用这种方法?

由于第三方正在使用基于桌面的Java应用程序,并且内置了用于访问MVC网站的某些浏览器组件,这一复杂情况就出现了。用户已经使用桌面应用程序进行了身份验证,因此我们不希望他们再次输入凭据来查看这些网页。

回答

1

嗯,艰难的一个以安全的方式解决。基本上我不信任桌面应用程序;-)

您可能正在寻找某种联合。基本上它是让你的Identity Server信任第三方(通过签名)。然后,您的Identity Server将使用来自第三方的SAML令牌作为登录信息,并生成新的SAML令牌(由您签名)转发给MVC Web应用程序。我认为Dominick有一个或两个关于它的视频,但不确定它是否符合您的要求。看看https://github.com/thinktecture/Thinktecture.IdentityServer.v2/wiki

Java桌面应用程序可能无法创建签名的SAML令牌,因此您可以考虑使用“别的东西”。最好是从第一次登录的地方签名。

您应该避免让您的Web应用程序信任任何人,而不是您自己的Identity Server/Identity Provider。

希望这会帮助吗?乐于帮助我可以:-)