0

寻求指导以实现 Web 应用程序的以下功能:

  • 非浏览器 SSO
  • 无缝登录

非浏览器 SSO

ADFS (IdP) 位于专用网络中,但我想促进从任何网络进行访问,这意味着我需要在我的公共域中捕获用户名(和密码,如果受到挑战),然后通过后端脚本验证输入的凭据。

无缝登录

由于这是 SSO,如果用户与 ADFS 有一个活动会话,这意味着他已经通过 ADFS 域进行了身份验证,我想允许访问而无需询问凭据,比如说通过访问他的办公室计算机。


我正在研究 SAML ECP、OAuth 2.0、OpenID Connect、LDAP 的选项,但似乎没有一个可以解决我的要求而减少开销。

SAML 驱动的 SSO无法从任何网络访问,因为它是基于浏览器的,因此无法访问专用网络 IdP。

LDAP没有私有网络限制,但据我所知,不能像SAML那样促进无缝登录。

OAuth/OpenID似乎正在解决围绕身份验证/授权的完全不同的挑战。

4

1 回答 1

0

通常 Open Id Connect 和 OAuth 2.0 是首选选项,因为它们是基于 JSON 的协议,对浏览器/移动设备友好。

如果您希望用户能够从任何网络登录,那么执行此操作的标准方法是使授权服务器在 Internet 上可用。

对于基于 Microsoft 的解决方案,这是行业标准解决方案的工作方式:

  • 使用 Azure AD 作为授权服务器 (AS)
  • 在非 Intranet 场景中,例如移动应用程序,您通过 Azure AD 凭据登录
  • 在 Intranet 场景中,Azure 可以将浏览器重定向到您的本地 IDP
  • 还可以将凭据从本地同步到 Azure AD

当然,这需要对基础设施进行投资,并且所涉及的工作并非微不足道,但是一旦完成,您将拥有非常好的选择。

于 2020-06-10T18:15:21.147 回答