Java 单点登录中的显式认证

Java 单点登录中的显式认证,java,authentication,single-sign-on,saml-2.0,opensaml,Java,Authentication,Single Sign On,Saml 2.0,Opensaml,场景: 我们在云上部署了一个web应用程序。此应用程序使用客户端的SSO(Idp启动)设置。事情进展顺利。用户一旦登录到他们的公司网络,就可以使用我们的应用程序,而无需输入他们的凭据 对SSO的理解: SSO旨在集中管理身份,针对每个以凭证作为输入并对用户进行身份验证的公司应用程序。这会导致信任,因为用户不输入用户名/密码来使用应用程序 关于电子签名的注意事项: 这一点,不能被数字签名所混淆。这是医药领域软件的一个非常关键的需求。如果用户正在执行某些重要操作,例如批准等,则在执行该操作之前,她必

场景: 我们在云上部署了一个web应用程序。此应用程序使用客户端的SSO(Idp启动)设置。事情进展顺利。用户一旦登录到他们的公司网络,就可以使用我们的应用程序,而无需输入他们的凭据

对SSO的理解: SSO旨在集中管理身份,针对每个以凭证作为输入并对用户进行身份验证的公司应用程序。这会导致信任,因为用户不输入用户名/密码来使用应用程序

关于电子签名的注意事项: 这一点,不能被数字签名所混淆。这是医药领域软件的一个非常关键的需求。如果用户正在执行某些重要操作,例如批准等,则在执行该操作之前,她必须明确输入其凭据,即使该用户已登录并拥有会话。其目的是防止滥用开放式终端

问题: 对于SSO下的应用程序,是否有任何方式可以按照电子签名的要求进行显式身份验证

请注意,我们的应用程序始终可以发送SAML请求来检查用户是否被授权,但这种情况发生时没有密码,也不是显式身份验证

您正在询问(第49页,第2042行):

ForceAuthn[可选]:
布尔值。如果为“true”,则身份提供程序必须直接对演示者进行身份验证,而不是依赖以前的安全上下文。如果未提供值,则默认值为“false”。但是,如果ForceAuthn和iPassive均为“true”,则身份提供程序不得对演示者进行新身份验证,除非可以满足iPassive的约束条件,否则将挖掘旧线程。。。问题似乎是,并非所有提供商都会强制使用ForceAuthn进行交互式身份验证——只要他们不依赖以前的安全上下文,他们就“遵守”了规范。但这意味着如果你根本没有登录,因此没有以前的安全上下文可依赖,您可以提出ForceAuthn请求,IDP将使用他们使用的任何桌面单点登录解决方案,愉快地授予您一个新会话(即新的安全上下文),并将您传递回SP,而无需手动/主动与IDP交互。

Andy,看起来这正是我需要的。谢谢你。我会试试这个。