【问题标题】:Office365 SSO from ASP.NET application with no Active Directory来自没有 Active Directory 的 ASP.NET 应用程序的 Office365 SSO
【发布时间】:2013-02-19 21:36:57
【问题描述】:

我们希望从将用户名和密码存储在数据库中的 ASP.NET Web 应用程序对 Office365 进行单点登录。我们没有这些用户的 Active Directory 帐户。

我可以了解到关于 office365 的 SSO 的信息是,它只允许带有本地 AD 的 SSO。但是应该有一些解决方法。

谁能给我指点一下如何完成这个。

【问题讨论】:

    标签: c# asp.net single-sign-on office365


    【解决方案1】:

    这是可能的,但很困难。我们花了大约一个月的时间来完成它。

    您需要做的是设置您自己的 ws-federation 安全令牌服务。您使用 WIF 开发它。它应该公开确切的元数据并声称 ADFS2.0 确实如此。这是棘手的部分之一,因为这在任何地方都没有记录,并且需要对 ADFS 元数据进行一些逆向工程。

    当 sts 准备就绪并可以正常工作时,O365 将不会看到您的 sts 和 thr ADFS 之间的差异,并且会很高兴地根据您自己的 sts 对用户进行身份验证。 sts 可以使用任何你想要的用户后台。

    另一个问题是自动化 O365 创建用户帐户的方式。这更简单,因为 powershell api 有很好的文档记录,并且允许您模仿 DirSync 的工作方式,因此您不需要 DirSync 和 AD。

    这只是表面问题,需要为艰难的研究做好准备。可以回答任何具体问题,但我不希望任何人提供分步教程。至少我们什么都没找到,都是我们自己做的。

    【讨论】:

    • 感谢 Wiktor 很高兴知道至少有一种方法可以实现它。我们将从 api 创建我们自己的用户帐户。这不是我关心的问题。
    • 如果你们有具体问题,我们可以提供答案。
    • 如果它开箱即用,我会感到非常惊讶。尽管 IndentityServer 是一个不错的自定义 STS,但在接受来自自定义 STS 的声明时,O365 相当反复无常。您可能应该花一些时间进行研究,以尝试让两者相互交谈。
    • 可以向你们购买解决方案吗?
    • 不幸的是,该代码不具备生产质量,因为它是一个研究项目。零售实施被重新安排在 2013 年底/2014 年初。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-08
    • 2012-06-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多