来自非浏览器客户端的SAML(或其他)认证流程

问题描述 投票:0回答:1

希望得到指导,为一个Web应用程序实现以下功能。

  • 非浏览器单点登录
  • 无缝登录

非浏览器SSO

ADFS(IdP)是在一个私有网络中,但我想方便从任何网络访问,也就是说我需要在我的公域采集用户名(和密码,如果被质疑的话),然后通过后台脚本验证输入的凭证。

无缝登录

由于这是一个SSO,我想允许访问,但不要求用户提供证书,如果用户与ADFS有一个活跃的会话,这意味着他已经对ADFS域进行了认证,比如说通过访问他的办公室电脑。


我正在研究SAML ECP, OAuth 2.0, OpenID Connect, LDAP等方案,但似乎都不能满足我的要求,而且还需要开销。

SAML驱动的SSO 不能从任何网络访问,因为它是基于浏览器的,因此不能访问私人网络IdP。

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

OAuthOpenID 似乎正在解决围绕认证授权的完全不同的挑战。

authentication oauth-2.0 saml-2.0 federated-identity adfs4.0
1个回答
0
投票

一般来说,Open Id Connect和OAuth 2.0就是 优先选择 因为它们是基于JSON协议的,对浏览器移动友好。

如果你希望用户能够从任何网络登录,那么标准的方法是通过互联网提供授权服务器。

对于基于微软的解决方案来说,这就是行业标准解决方案的工作方式。

  • 使用 Azure AD 作为授权服务器 (AS)
  • 在非内网场景中,例如移动应用程序,您通过 Azure AD 凭证登录。
  • 在内网场景中,Azure可以将浏览器重定向到你的内部IDP上。
  • 也可以将凭证从on-pre同步到Azure AD上。

当然这需要基础设施的投资,而且涉及到的工作也不是小事,但你做完之后会有非常好的选择。

© www.soinside.com 2019 - 2024. All rights reserved.